Skip to main content

Full text of "Commodore Computer Club 13"

See other formats


2S AyOflJtj 25 Sottese 1 - Anne 311 - N 13 - Spod ,Abb. Posi Gr 1(1-70 • CH Distr. VloPo 


L, 2,500 


i utenti dì sistemi Cotnmmliirv 


l a rivista è 


COMPUTER 







JT « J 

1 











s ■ . i 

p tll 


IijTi| m 





SCOPRI LA DIFFERENZA DYSAN 


* 




Perchè Dysariì 
Le Quattro 
Ragioni Per 
Preferire la 
Differenza 
Dysan 


*■ di 

> 

o h nmn imm ii hi 

i idAL* J jT- t k .4i jv f ìJt'Ldf 

sl fi w m m rHiM \ ih i m h vMlts*; 


KO < iM|| ■ tì'Wfi i)| j’ 

Gl A.KT1 

UH - mi) RaVÌi i i j " 


1 11)0% di superficie 
i testata "error free” 

Solo 1.) wm garantisce che 
luti a La superficie della 
diskette sìa rea Intente 
U H Pi, ‘cri or I ree " un tesi 
esclusivo certifica le tracce 
e lo spazio tra Le tracce 
assicurando presta? ioni 
"crror live” anche in 
presenza di 
disallineamento delle 
testine, 


Lsdusiva tecnica 
i di Bumishing 

Solo Dysan garantisce una 
superficie +h a specchio 
grazie alla sua avanzata ed 
unica tecnica di 
’ bur mshiniT - questo 
risultato assicura un 
miglior segnale sulle 
tracce, una minor 
turbolenza sulle testine, 
consentendo un sicuro 
mantenimento dei dati 
dopo milioni e milioni di 
rotazioni. 


Speciale 
i lubrificazione 

Solo Dwm garantisce, 
mediante uno speciale 
procedimento di 
Lubrificazione, ottenuto 
trattando la superficie con 
il proprio esclusivo 
lubrificante I D Mk clic le 
prestazioni "eri or trcc" 
siano esaltate e mantenute 
nel tempo. 


Certificazione 
* totale 

Solo I K v.m canniti^ e . con 
■ 

il suo metodo automatici ■ 
iti controllo qualità di iu: r 
la produzione (risultato : 
una tecnologia leader nel 
mondo} die ogni diskei:.. 
prodotta sia stala 
singolarmente testata e 
certificata. 






datamatic 

TRATTA &EN£ l TUO CALCOLATORE 


Paiamaiic SpA 

via Votiamo, 46 Filiale di Roma 

20124 Milano vta Citta di Cascia. 29 

lei 02 6073876(5 linee f a.) lei 06/3279987 
telex- 315377 SADATA 1 






u 


cammodorR 


COMPUTER 

CLUB 


SOMMARIO 


1 PAG 

REMarks 

Vie 20 

C 64 

Sistemi 

Generali 


05 

Commodore novità 



• 

• 


09 

Domande / Risposte 

• 

• 

• 

* 


14 

Orologio 


* 




20 

Il sistema bJ Mustc 64" 


• 




24 

Dama cinese 


• 




29 

Caccia al ragno 

• 





35 

Gli Alberi Binari di ricerca 

* 

• 




45 

Iper Monitor per Linguaggio Macchina 


* 




53 

Disassembler 


« 




56 

Espansione dei comandi Basic 


• 




59 

La Gestione deN'Interrupt nel C 64 


• 




62 

interrupt: applicazioni pratiche 


■ 




65 

Linguaggio Macchina (3 puntata) 


* 




71 

File relativi 


m 




75 

Il Gioco del 1 5 


• 




78 

Space Defender 


• 




80 

Labirinto 

* 





82 

Sintetizzatore Sonoro 


* 




85 

Bomber 


* 




87 

L'informatica a scuola: 

Telematica, Robotica, Burotica 




• 




Direttore responsabile Mtcbeie D Pisa 
Redattore capo: Alessandro de Simone 
Segretaria di redazione Maura Ceccarol 
Foto di copertine: Hiarxaj Vignasi 

Impaglnazione/ll Iti sdrai toni: Francesco Amatori. Renato Caruso 
Direzione, redazione. Vie Fa ma gesta, 75 - 20142 Milano - Tel (02) 5407348 
Pubblatà: Mirco Croce {coordinato^} Mic-hola Prandio. Giorgio tfuffom 
Oajrj.rj littorie, Villa Claudio 

V.k» FamagosTa, 75-20142 Milano - tei. (02) 8487348/9/40 

Prezzo e abbonamenti r Prezzo per una copia L 2.500 

Ar «eira ti il doppio. Abbinamento annuo < 10 fascicoli} L. 22.000 

Abbonamento annuo cumulativo alte riviste Computer e Commodore 

Computer Club ( tariffa riservala agli studente) L 34. ODO. I versamenti 

vanno indirizzati a Ccmmodor « Computer Club mediante assegno bancario. 

o utilizzando il c/c postale ri 3 1 532203 

Stampa: La Litografica tr i. Busto A 

Registrazione: Tribunale di Milano n, 370 del 2'T1982 

Sped m abb. po$t Gr III Pubblicità interiore al 70% 


Computer Club - 3 






COMMODORE PLUS J 












Commodore Novità’ 


Commodore plls/4 


C otti inodore Plus/4 è il computer che 
amplia ('orizzonte delThome e del perso- 
nal computing. Il suo nome deriva dui 
quattro programmi applicativi incorpo- 
rati nel computer e immediatamente di- 
sponibili al momento dell 'accensione. El 
software è contenuto nella memoria Rotti 
de! Commodore Plus/4, e sì richiamano 
con la semplice pressione di un tasto. 

Il software integrato del Commodore 
Plus/4 comprende le applicazioni piò dif- 
fuse e piu utilizzate nell'attività quotidia- 
na: un programma di word processing 
per scrivere lettere e relazioni, un foglio 
elettronico per ta pianificazione finanzia- 
ria. un database per la creazione e la 
gestione di un archivio, c un pacchetto di 
business graphics per visualizzare sotto 
forma di diagrammi e istogrammi i com- 
plessi dati memorizzati. 

• FILE MANAGER permette di racco- 
gliere. memorizzare, riordinare e richia- 
mare le informazioni di qualsiasi genere: 
dagli indirizzi per una maiting List agli 
articoli di un inventario* agli dementi di 
un elenco personalizzato, alle ricette di 
cucina. 0 programma offre la possibilità 
di riordinare e riorganizzare le informa- 
zioni raccolte per creare lettere persona- 
lizzate, etichette per spedizioni, rapporti 
e tabelle. Inoltre il File Manager e uno 
strumento flessibile adatto per qualsiasi 
applicazione personale, e non costringe 
chi lo usa a imparare complicate tecniche 
di programmazione per ottenere opera- 
zioni complesse. 


• SPREADSHEET e un foglio elettro- 
nico incorporato che esegue automatica- 
mente calcoli e ricalcali su dati numerici 
soggetti a continue variazioni. E’ r ideale 
per preparare proiezioni finanziarie, bi- 
lanci familiari □ aziendali, analisi di bud- 
get e per la pianificazione in generale. 
Ogni volta che un dato varia, il computer 
ricalcola Istantaneamente tutti ì dati cor- 
relati, fornendo i nuovi valori per V intero 
foglio di lavoro, 

• WORDPROCESSOR permette di 
creare lettere, relazioni, rapporti e docu- 
menti scritti di qualsiasi tipo con grande 
facilita. I testi possono essere memorizza- 
ti su disco e corretti più volte prima di 
procedere alla stampa su carta. Il pro- 
gramma è collegato con lo Spreadsheet e 
può richiamare tabelle dì dati da include- 
re in un documento scritto, Questa per- 
fetta integrazione fra programmi incor- 
porati e un concetto rivoluziona rio nel 
settore degli home coni potei , 

• GRAPHICS è uiH’h’essò incorporato 
nel Commodore Plus/4 ed è integrato con 
il foglio elettronico. Permette di visualiz- 
zare sotto forma di grafico i dati inseriti 
nello spreadsheet, per realizzare un siste- 
ma completo di business graphics. 12 co- 
mandi Basic aggiuntivi rendono sempli- 
cissima la creazione di programmi grafici 
personal izza ti, che possono essere memo- 
rizzati su nastro n su disco. Con Graphics 
il Pfus/4 è in grado di disegnare cerchi. 

rettangoli e complesse figure geometri- 
che, colorarie a piacere e ìmiuderk nei 


testi scritti con il word processor. 

I programmi incorporati possono con- 
dividere e scambiare R informazioni me- 
morizzate dal computer. Inoltre, l'opzio- 
ne di screen window permette di utilizza- 
re due programmi con tempo rancamente 
visualizzandoli entrambi sullo schermo. 

iiesie caratteristiche uniche fanno 
del Commodore Plus/4 la macchina idea- 
le per Tatti vita professionale. Ma non so- 
lo. 1 computer si stanno diffondendo nel 
mondo della scuola, e possono essere uti- 
lizzati con profitto anche a casa* Il Plus/4 
ha tutte le caratteristiche per costituire lo 
strumento ideale per lo studente. Il Basic 
esteso incorporato nella Rom offre oh re 
75 comandi di programmazione, compre- 
si quelli per gestire grafica e suono. Com- 
modore Plus/4 è il computer ideale per 
imparare a sviluppare la tecnica di pro- 
grammazione in Linguaggio Basic. 

I n ambiente domestici», le possibilità di 
utilizzo del Plus/4 sono praticamente infi- 
nite. Grazie al software integrato, com- 
puterizzare il bilancio familiare, la corri- 
spondenza personale e V archiviazione di 
dati diventa semplicissimo. Infine, le 
enormi potenzialità grafiche e sonore del 
Plus/4 trasformano il computer nel com- 
pagno di gioco ideale* 

I n aggiunta al software sviluppato 
espressamente per questo computer, 
Commodore Plus/4 può utilizzare anche \ 
programmi scritti per il Commodore 16. 

Computer Cfub- 5 




CARATTERISTICHE TECNICHE 


Memoria 

64 K Rum standard di cui 60 K utilizzabili 
in Rafie dati' utente. 

ROM 

32 K Rom standard { compresi sistema 
operativo interprete Basic). 

Microprocessore 

7501 con dock da 0.89 a f. 76 MHz . 

V'ideo 

40 colonne per 25 righe dì testo. 

Colori 

12 1 colori ( 15 colon di buse con 8 grada- 
zioni piu il nero). 

! 

Set di curane ri 

Lettere maiuscole e minuscole, numeri e 
simboli . 

Caratteri in negativo* lampeggiatiti* 

Sa di caratteri grafia Pel Commodore . 

Display mode 

Caratteri di testo. 

Grafici iti alta risoluzione e in muliicolor 
Testo in schermo diviso? grufici in alta ri- 
soluzione o in mukkolor 

Risoluzione pratica 
320 jr 200 pixel , 

Suono 

2 generatori di suono oppure l generatore 

di suona e un generatore di rumore 
bianco. 


9 livelli di volimie per le due voce 
Tastiera 

Standard qwerty con 67 tasti 
4 tasti dì controllo del cursore. 

4 tasti di funzione programmati, che pos- 
sono essere rìde finiti dall' utente per sup- 
portare fino a 8 funzioni prescelte. 

Tasti dì controllo dei colore . 

Tasto di HELP. 

Set di caratteri maiuscolo e minuscolo 
Sei dì caratteri grafici. 

Pulsante dì Reset del sistema. 

Tasto dt Est ape. 

Input/ Output 
User pori. 

Porta seriale Commodore. 

Porla per cartuccia Rom e per unità disco 
parallela. 

2 pone per joystick. 

Porta di collegamento per unita ree cuci- 
tore C 1531 

Uscita monitor am seggale composito 

croma/ luma 
Input output audio. 

Ingresso alimentazione di rete. 

f arallemtidie principali 
Buste estesi/ versione 3.5 incorporato, 
con oltre 75 comandi in gradi di pilotare 
grafica e suono 

Monitor in linguaggio macchina incorpo- 
rato, con 12 comandi disponibili 
Possibilità di creazione finestre su video. 


4 programmi applicativi incorporati File 
Manager . Spreadsheet, Word Proces- 
sing, Graphics. 

Periferiche opzionali* 

SFS48I unita a disco veloce , 

C 1542 unita a disco, 

C 1531 registratore a cassette. 

MCS SOI stampante a matrice a 7 colon. 
W PS 802 stampante u matrice, 

UPS U01 stampante a margherita ' lette r 
qwlity'. 

< 1520 stampante/ plotter a 4 colori * 

C 1703 monitor a colori 

Altre periferiche 

Commodore Plus? 4 funziona anche in 
collegamento con Punita a disco C 1541, 
con la stampante a matrice C 1526 e con d 
monitor a colori C 1701, 

Dtmensioni 
Altezza 66. 7 mm 
Larghezza: 422.3 mm. 

Profondità: 238. 1 mm. 

Alimentazione ili rete 

220-241) volts AC, 56-60 Hz con alimenta- 

fare esterno. 

Consumo 

8.5 w att massimo. 

Colore 

Grigio antracite. 


Commodore 16 


1 1 nuov o Commodore 16 è un home com- 
puter che offre caratteristiche che solita- 
mente si ritrovano soltanto in macchine 
appartenenti a una fascia di prezzo molto 


piu elevata* E' stato progettato apposita- 
mente per chi si avvicina per la prima 
volta al mondo de lf informatica* ed e per^ 
ciò semplice da usare e da programmare. 


Li a tastiera professionale di dimensioni 
standard e la stessa del Vie 20 e del Com- 
modore 64, i due home computer più dif- 
fusi in Italia, Oltre al normali tasti di 


6 - Computer Club 




ANNESMAN 


CftdÌj IttlilM S,PrA j 

Via ¥ lil Gr,in hi :*6 20092 Cinisdlu h.iKimnt Milano] Tri 1021 b I 2 1 b E 

Filiali: Tnrmu hwlnv.t Bologna - Roma 


- - 




v ■ sai 




sìH 






* :\W? 






ì 

\ 

■ 


TALLY SPIRIT: 

BASTA AI DUBBI TRA 
PRESTAZIONI E 
PREZZO. 

Collega re una 
stampante ad un personal 
computer molto spesso fa 
sorgere dei problemi: o 
spendere troppo in 


rapporto al costo del 
computer <> acquistare una 
stampante economica clic 
può creare problemi f 
di funzionamento. 1 
Oggi con SPIRIT, H 
dell a M/YNMKSM A N N ■ 
TALLY. è possibile 
mettere d’accordo H 

“ I 


affidabihta. 

SPIRIT è la stampante 
già predisposta per il 
collegamento con tutti i 
personal in commercio che 
consente di non 
rinunciare a tulle le piti 
elevate prestazioni 
professionali. 

SPIRIT e disponibile in 
< ’ELDIS con CONSEGNA 
IMMEDIATA. 

Celdis, Distributore 
Ufficiale per tutto il 
territorio nazionale dei 
prodotti Mann estuano 
Tally, oltre la piccola 
SPIRIT consegna da stock 
tutti gii altri modelli di 
stampanti: MI' I HO, 

MT 440 fino alla MT 660* 


MANNESMANN 

TALLY 


/ 

yZ 

r 


i 

\ 



funzione, il Commodore 16 dispone di 
quattro Listi per U controllo del cursore, c 
di un tasto di Help. 

Il Commodore 16 è il computer ideale 
per apprendere e sviluppare la propria 
(tonica di pnrgram mozione. Il linguaggio 
Basic versione 3.5, incorporato odia me- 
morili Rum, e sialo arricchito? compren- 
de oltre 75 comandi per hi geMlone com- 
pleta de Ile capacità grafiche c sonore* e 
per la programmazione avanzala nel lin- 
guaggin per computer piu famoso del 


monito. Il tasto dì Help si dimostra utilis- 
simo in fase di sviluppo dei programmi 
Basir, perche pc emette di evidenziare le 
linee contenenti gli errori di sintomi , indi- 
viduando le singole istruzioni mrsaite. l a 
Commodore ha preparalo una serie di 
corsi di programmazione basati su ma- 
nuali v software di facile impilo. 

T J u didattica e un settore ili cui hi < '«m- 
m odore operi! da sempre con prodotti di 
alta qualità e di facile impiego, in grado di 
accompagnare i bambini in età scolare 


per tutta I *i dii ruta dei loro studi. Il num o 
Commodore Ih e lo strumento ideale per 
questo percorso educativo, e fornisce 
un'occasione unica per avvicinarsi al 
mondo del futuro r crescere di pari passo 
con la tecnologia. 

1 1 Commodore Ih è anche un superbo 
videogioco. Curi i due ingressi per i joy- 
stick, la grafica in alla rivoluzione a 121 
colori e i due generatori di suono incorpo- 
rati. diventa un eccezionale videogame 
dalle caraneristiche pm fissionali* 


Memoria 

RAM Iti K standard dì cui 12K utilizzabili 
ir i Buste dafTutente 

ROM Oh con vufrrutì operativi » t inter- 
prete Basa incorporati. 

Micrnpf dccsm ne 

750 ì con eh uh da 0*59 a 1 . 76 Mff: 

Video 

40 colonne per 25 righe di testo 
Colon 

12 1 mh >ri i 1 O i ah *ri ds frase « ori Sgradii 
ziomptu d n ero) 

Sci di cantici) 

Lettere maiuscole C minuscoli numeri e 
simboli 

Cèrnite rt Iti negato o e lampeggiante 
Set di caratteri grafia Fé: Commodore 

Disptav mode 
Corti ttcn di testo, 

Grafici in alfa ri.iv dazione e in m attico lo r 
Testo in xchermo diviso grafia tn alta 
soluzione n tn midticolor. 

Risoluzione gr altea 
320 1 200 pud. 

Suono 

2 generatori di suono oppure ì generatore 


CARATTERISTICHE TECNICHE 

di suono e un generatore di rumo r c biùrl 
CO . 

9 livelli ih infame per le due un i 
Tastiera 

Standard tpvertycon 06 tasti. 

4 fasti th et mirtillo ilei cursore. 

4 tasti di funzione l he po .\ ■ 

tatto essere ndcftniti dalt utente per utp 
portare finti a S pinzami prescelte Itoli 
di Contralto del ad* ire 
Tasto di Uf i 1* 

Set dt caratteri maiuscolo c minuscolo 
Set di caratteri grafici 

Input/f hiiptii 

1 j ter pori ( In 

Forra seriale f V mi madore. 

P( >rta per carruci ai Rom e per unita disco 
parallela 

2 pone per to\ stick. 

Fona di colicgarnento per unita registro- 
ture Cf5JI. 

Uscita monitor con segnate composito 
croma/ fama 
Input output audio 
Ingresso alimenta: urne ds rete. 

t ara iterisi tc he prmeipah 
Basic esteso versione 3.5 incorporato, 
con oltre 75 comandi m grado dt pilotare 
gra fica e suono 

Monno * in hnguaggitt macchina sneorpa 


rato, con 12 comandi disponibili. 
Possibilità di r reazione finestre su vide * > 

Periferiche opzionali 

S F$ 4SI imita a disco s etole, 

l 1^42 unita a disco 

(. 1531 registratore j casette 

MCSSOÌ stampante a matrice a ~ n*h*rt 

.\t FS 802 stampante a matrice. 

lì PS IJOf stampante a margherita tener 

tpuilip . 

f 1520 stampante f dotte r a 4 colori 
( 1703 monitor f j i uhm 

Mire periferiche 

(. ommodore /6 funziona anche m colle- 
gamento con Turata a dist o C 134 J, <..<m la 
stampante a maini e ( e con il mono 
tor a colori C ptìì 

Dimensioni 
A Rezza: 76 2 mm 
Larghezza: 40ft 4 mm 
Profondità 203.2 mm 

Vhmenia/Tone dt tele 
240 ioits AC t 50 II: con alimentatore 
esterno. 

< onsumo 

S. 5 h art massimo 

i olore 

(frìgio antracite 


8 - Computer 






Domande Risposte 

nOINVUDE KI 8 L 08 EE 


Le RAM del Commodore 64 

“Quale è l'esatto quantitativo di RAM a 
disposìxiooe net mio 64 e perchè eoo 
PR1NT FRECCI si ottiene talvolta un valo- 
re negativo? 

• Sono effettivamente MK, vak a dire 
più di 64000 locazioni. Alcune di queste 
non sono pero accessibili alFutente se 
non lavorando m l inguaggio Macchina. 
Da un po’ di tempo Commodore Com- 
puter Club, sta affrontando in modo si- 
stematico questo argomento che consen- 
te di sfruttare appieno le potenzialità dei 
computer t 'ommodoie. In questo nume- 
ro troverai molti articoli su cui 
documentarti 

Per ciò che riguarda la seconda parte 
della domanda, tieni presente che se con 
PRìNT FREf'(J) si ha un valore positivo, 
questo rappresenta esano quantitativo 
disponibile per dati o programmi ba^-sc 
Se invece il valore è negativo la quantità 
di R AM disponibile è data dal semplice 
calcolo; 

PRINT 2f 16+FRE(0}, 

Problemi col comando 30 

□Con la mìa unita a dischetti 1541* sfrut- 
tando nio Iti) un floppy f canee Umido, so- 
vrapponendo, registrando ecc.j, ù volte 
mi accorgo che certi File non sono piu 
riconoscibili e alcuni programmi non ap- 
paiono addirittura nella Directory. 

• L molto probabile che hai usato trop- 
po spesso il comando: 0ONOME col 
quale si «sovrappone» ad un programma 
già residente su disco, itn altro program- 
ma con lo stesso nome. Abbiamo notato, 
infatti, che se questa operazione viene 
ripetuta troppo spesso succedono pastic- 
ci nella B A M che possono rendere, 
anche se raramente, addirittura inutiliz- 
zabile l'intero disco, specie se il program- 
ma risenti n con?ti è uno dei primi 


Per e vi i are malfunzionamenti si consi- 
glia, periamo, di non utilizzare mai i] 
comando 00. e di procedere alta scrittura 
di un programma con altro nome e, in 
seguito, alla cancellazione di quello che 
non serve più 

Ancora sul 1541 

n A volte, sbagliando a trascrivere qual- 
che programma o file di duLL il LEl> del 
drive Imo pentii. C'è un modo per spe- 
gnerlo senza spegnere e riaccendere il 
1541? 

• Puoi inizia lizzare il dischetto: 

OPEN 15.fl.15. ,, lÉf: CLOSE 15 

Oppure ricorrere al comando "U'\ 
Caso del Commodore 64 . 

OPEN 15 ,8.13 "U*”: CLOSE 15 
Caso del Vie 20: 

OPEN 15.8,lS/’U-"rCLOSEl 5 

Il tasto Return 

□ Dopo aver listato alcune lìnee basic, mi 
capita la necessità dì corregeme qualru- 
fili e per Far questo “salgo’ * col cursore ed 
inìzio la modifica. A volte, in tale fave, 
batto però qualche tasto errato* Come 
posso fare per non “perdere" la vecchia 
linea? 

♦ La “vecchia" linea rimane li al suo 
posto e non le accade nulla fino n che non 
premi il tasto Return Se infatti, ad esem- 
pio. dopo aver pasticcialo la lìnea, can- 
celli lo schérmo, chiedendo il listalo di 
quella riga n accorgi che è rimasta immu- 
tata, proprio perché non è stata data la 
conferma col tasto Return, A volte capi- 
ta. specie digitando gli apici, f = k virgo 
lette) che il tasto di cancellazione scher- 
mo non provoca l’effetto desiderato. E : ’ 
sufficiente allora premere insieme i tasti 
Shift e Return Anche in questo modo la 
riga ornane immutata. 


Accensione di un sistema 

H Inidan do un lavoro ai computer* quale 
apparecchiti accendere per primo e quale 
per ulti mu? 

• In genere ri accende dapprima il com- 
puter, pcit il drive e per ultima la stam- 
pante, Questa perù non è una regola ge- 
nerale, tanto è vero che sul manuale di 
alcuni package di software si consiglia 
una procedura diversa. Oli scrive, ad 
esempio, è costretto ad accendere prima 
il 1541, e poi il Vie Facendo ai contrario, 
infatti, il drive pane e non si ferma più. 
chissà perchè Un altro lettore, a propo- 
sito, mi disse che fu costretto a sostituire 
la lampada al neon della sua camera per- 
ché non appena la accendeva resetta va il 
computer! 

In genere, comunque, è bene iene re 
accese tutte le periferiche che costitui- 
scono il sistema, anche se non devono 
essere usate Una cosa da non fare per 
nessun morivo, è quello di collegare i 
connettori, schede di espansioni, cartuc- 
ce di Firmware ed altri apparecchi men 
ire fe macchine sono accese. Ho visto 
saltare più di un computer con questo 
metodo. 

Sui puntatori 
dei programmi basic 

□Mi hanno detto che è possibile “sposta- 
re" in altoq in ba&so, quasi a piacimenti!, 
la zona di memoria RAM in cui allocare i 
programmi basic, Perchè non dite in che 
modo forici? 

• Ho già affrontato tale argomento sul 
N 42 (giugno ’84) della rivista Micro A 
Personal Computer nelParticolo "Spo- 
stamento dei programmi basic" 


\ lessa n dm de Si mone 
Computer Club - 9 






Qottomhro 1 QftJ - ^ \ irtì ^ /Wl Arìr^iPi ! Kl C i -i . i , T A ! >k ,W III >■*•'1 ,".r r*S l. ti--. :v.. 











Come ottenere i caratteri speciali 
dei computer Commodore 

in inaiti listati pubblicai t in ijiicxia rivista figurano alcuni caratteri speciali 
indichiamo, sii questa pagina, il modo di ottenerli. 


m » [NEPOJ 


* ^ [&IRNCDJ 

^ = t ROSSO] 


k * CflZZL'FJ 

■* - EVI GIP] 

li = [VEPDEJ 

= t bluj 

H - coi allo: 

a - C7F2J 

K = CTF4] 

m =- IIF6] 

m = [TF2J 

« = trpuNj 

a « [RVSJ 

a) = [ HOME ] 

If * t RIGHI] 

ri * [DE L J 



;a 

m 

WRMCl 

R 

e 

Criflm 

E 

3 

CROSR 3 


- 

COR IOIDI 3 

:a 


COPIO! Kt 2 ì 

li 

— 

[VERDE] 

rs 

- 

[CELESTE] 

■ i 

■ i 

3 

[ OR 10103 J 



$ 








; o 





ì_ 

i- , i 



m 

a 

e 





ri 


li 


C TF1 3 

LTF $] 

CTF? ] 

CTF7] 



e 

(S 


a 


= CGP 3 

Qfi 

i® 

• 

- CRVOFF] 


/Ei # 

© 

n 

- * CCLEhR) 

p^a 


il 

= LLEFTJ 

e© 

a 

tr 

= [FI] 

sa a 


^-Computer CMj 







Precisazióni su programmi 
pubblicati 


Fascicolo 1 1 

Programma " Scrittura a tutto schermo' 1 

Riga 270 invece di IF R— 147. Illùsi II- 
P=147 

Programma “Caleidoscopio" 

H listato non conitene errori di sort i 
Molti lettori, perii, commettono alcuni 
errori di battitura. 

Nella riga ISO il segno che compare in 
ASC non c il segno meno, ina il 


carattere se mi grafito che vi ottiene digi- 
tando ShiEi c l’asterisco i 1 ( 

Anche nella riga 17ri il carattere che 
compare non £ if segno H + " ma il carat- 
tere semigrafico che si ottiene con Shift 
insieme con 


Programma ^Enycalc” 

N listalo non contiene errori di sona Si 
tenga presente che utilizza ìo tecnica del- 
la manipolazione del buffer di tastiera e 
periamo durante IV la rio razione dei da- 
ti, è necessario non battere alcun usto 
del] a tastiera. 

Lo stesso programma c stato rasento, 
col nome PRESI OC AL C, nella nuova 


rivista su cassetti COMMODORE 
CLUB, 


Programma “Archivio dischi" 

Il programma gira perfettamente 
Eventuali errori di sintassi sono din un al 
fatto die si è fatto ricorso alf jbhrcun- 
notie '**?& " al posto di PRINT^, Tale 
abbreviazione, dovrebbe esser noto e 
illecita, 

Fascicolo N. 12 

Programma 'Battaglia navale" 

ì jì riga irn va così corretta 
J tm IF A$ = "S" Tttlìhi RUN 



HELIS 


SERVIZI PER L’INFORMATICA 


• COMMODORE 64 


• CORSI DI PROGRAMMAZIONE 


• PRODUZIONE SOFTWARE 


• PERSONAL COMPUTER 


• ASSISTENZA SOFTWARE 


• PERIFERICHE COMMODORE 


• ASSISTENZA TECNICA 


• ACCESSORI 


• LIBRERIA JACKSON 


HELIS - VIA MONTASIO 28 - ROMA - TEL. 06/8922756 




Commodore 64 


Questo programma che utilizza le 
routines grafiche di Danilo Toma , 
pubblicate su C, C X \ N, IO, 
trasforma tl vostro computer in 
un orologio analogico. 

Dopo «ver digitato i! pnierumma* sal- 
vdtHo, caricai* le routines di Tonta, tac- 
ciatele e caricate questo programma, Do 
pii il RUN IJ computer vi chiederà se avete 
già caricato le routines grafiche e, in caso 
afferma* ivo. dovrete solo premere il tasto 
RETURN per continuare* Ora il ctnopiì- 
ter vorrà sapere se volete modificare l'ora 

0 se volete continuare con quella già im 
postata: infatti, IH .64 continua a svolge- 
re la sua f un rione di orologio fino allo 
spegnimento delta macchina, Potrete 
quindi fermare il programma o caricarne 
altri venia - perdere- l'ora impostata. 

Avete anche la possibilità di attivare, u 
meno, la sveglia. Con essa, su dodici ore, 
vanno introdotte le ore e \ mimiti separati 
da una virgola. Ricordatevi che le ore 
vanno da G a Ilei minuti da 0 u 59; e, 
quindi, per il computer, non esistono le 
12 che, d ‘altra parie, vanno indinne co- 
me ori- 0, 

S e volete cambiar* l'ora, sullo schermo 
coiti pu ri ra un orologio con Ir lancette so- 
vrapposte e lampeggianti imi inulti Ir fKO 

1 mezzogiorno) 1 . Premendo il tanfo F’5 si 
otterrà l'avanzamento dei minuti, itili F’ft 
sì avra un avun/anieuUj ancora dei minuti 
a passi, in questo caso, di cinque, ititi 17 
si produrre imo spostamento delta lancet- 
ta delle ore. Con FI, l'orologio parte. 

Se volete cambiare l'ora quando l'oro 
logio e già attivo premere FI. IVemrndo 
F 4, vi sara chiesto se volete la sveglia e, in 



caso affermativo, a che ora. 

Funzionamento 

w 

Uf avete letto I" articolo di Torna ricor- 
derete che un orologio r quanto di piu 
sconsigliatosi possa fare ut ili zzando quel- 
le routine*. Esse, infarti, ogni volta che 
vengono chiamate, fermano il conteggio 
dell’orologio software del BASIC’ conte- 
nuto nella variabile TIS. Per ovviare a 
questo inconveniente e stato necessario 
ricercare tra i vari Integrati un orologio di 
tipo hardware. E, come sempre, mamma 
Commodore ha pensalo a tutto munendo 
il C 64 di ben due di questi orologi. F-ssi 
sono contenuti nelle due CIA {circuito 
adattatore di interfac ."la * che sono col le- 
gale aita tastiera, alla user pori c all’in- 
terfaccia seriale, 

o gtiunu di tw contiene un ombrio di 
24 ore AVI /P VI con una precisione di 1/1(1 
di secondo organizzato su quattro Bytes- 
ore, minuti, secondi t decimi di secondo. 
I 'indicatore ÀM/FM, non usato in que- 
sto programma, si trova sul bit piu signi- 
ficativo delie ore. 1 valori contenuti in 
questi byte* non sono numeri codificati in 
esadeciinaJt, ma in codice BCU e necessi- 
tano quindi di una conversione. L’orolo- 
gto è *c Incitato’ dìrettamenre dalla cor- 
rerne alternata di rete (portata preventi - 
vomente y v sdori FI E . * e, dato che tl rum- 
poter è predisposto anche per gii stan- 
dard americani, deve essere programma- 
li! per funzionare a 50 FI z, 

er una corretta programmarioor 0 
lettura dell' orologio e nfceAario rispetta- 


ne una procedura ben precisa, Ogni volta 
che viene effettuata una operazione di let- 
tura nel registro delle c *re. tutti i dati 
vengono congelati fino a quando non vie- 
ne effettuata ta lettura dei decimi di se- 
condo, Questo serve a far si che non si 
verifichino errori di lettura causati da 
operazioni di riporlo. Sei caso debbo es- 
sere letto un solo registro (come nel caso 
dei secondi! non potendosi verificare un 
errore dì riporto, e possibile fare una let- 
tura *al volo' dei dati. Per la scrittura 
delle ore la sequenza da rispettare e motto 
simile: ogni volta che viene Spoltralo’ un 
valore nel registro delle ore dcirorologio 
vi ferma e riparie solo dopo la program* 
m&rione dei decimi di secondo. Questo 
assicura che l'orologio paria sempre al 
momenti! desideralo. 

er i piu appassionati di PKKK A FO- 
KF posso segnatari- resistenza dì un al- 
tarme abbinalo a cinse un orologio. Que- 
st ’ultimo può rwrrr selezionato sellando 
il liti piu significativo del registro di con- 
trollo R delta porta. Ina volta sellato Mura 
possibile pnigrammarv Tal tarme nello 
stesso modo e udir stesse kirazioiii dcll’o- 
rn Ioghi, Per ri programmare lurohrgm 
sarà quindi necessario riportare alla con- 
dizioni logica 0 il bit in qtirstHinr. late 
allarme e. come potrete tapiri-, difficil- 
mente utilizzabile dal BASIC' perche 
a/io uh ta sveglia generando 

unìnlerrurinoe. 

a sveglia usata in questo programma „ 
invece, e ottenuta con una semplice linea 

if,,. (ben, 

Andrea A Alberto Boriimi 

f segue listello) 


14 Computer C f ub 




HOTLINE 

linee telefonica dedicala 
risoluzione jq-i problemi dei elienli. 

Chiù mando jl numero telefonico 
riservalo che troverete lolla 
cartolina gasar-tite acclusa ai 
programmi, ricflverete tolte le 
inforTT'niionj che vi necttsaflerro 


UPDATE 

servizio di aggiornameli lo continuo 
del programmi atLfui stati 
Ogni modifica ai programmi 
realizza U dfiHa Leonf informatica 
aarà fornita agli utenti (fagli stessi 


GARANZIA 

tulli I programmi Leo ni Informatica 
sono coperti da garanzia a Vita 
Contro guasti di origine. 


COMMODORE 64 ' SOFTWARE 


^roui.iiTTi in iponfiacr^riow l-i iva *?s>: us* 


£50 d. 

DRSCB 17 I0tf? 


Freno 

rod. 

PESCHI ZtOUE 


Prezzo 




frERSttMU 





W46 

ArmfiTt-wvsoTO i+Jtui 


(M. 9W 

"otopl js 


1W.088 

8459 A Toux-^lcio ■* cn't'cnn^t^ 

e#.»# 

«351 A Gestione <Jei Conti di 

casa 

li^.03B 

046SA Ditello p gqyfl n.moiw- 

m.m 

aa?5A il aASic 


1W. 3C3 

IMÉ/'T fiottilo ''Jfl quadra S 


B9..000 

005 9 A floàfillo 740 Quiete 0 


98. W9 


Conto eoTTenw 


V50. '7*0 

«Sì 

CftntO pEPqrirfri L-lASIC 


ÌHJ.IW0 

9116 

Ciaty 64 itLTmwdore) 


143 . Wi j 

0ÈS1/T ftubrici telefonica 


L«3.«0 

9174 

Cotbo di Etitt ì l oprai i, a- 

103 ,#30 








GSSTEffffl GQÉHtM.S 




«47 

Aneocaf ielle 


258,080 

9056 

Oichi irai ione r.v,A. 


68. «0 

«65A Fido Clienti 


188,898 

0867 

lPi*ni> ilei Conti (ti i/fùt/^er*) 

158.890 

«atti 

Ajjfjm tajTKmt ] 


150,803 

0C71 

ordini (cli/forS 

158.080 

«sii 

Hnillrm Li^t lEionìin-o alf^be^ ics . C4,v, 

ptov,! 15B. «88 

88^4 

Schr?d.ói -H 3 J l-4e. (ch/fpr/rspp./m, atc-.j 

L 60,305 


Schede IEP0 os r, eaq anc 1 a t a fi 1 «el i Ir*} 

253,900 


Super Héu. (-:■ T^avj acr^^'ncj-, riordini..: 

250^880 

«liti 

Scadenzario effetti 

(PC. bancarie, tratte, etc.li 203.089 

«129 

cont^>ii 1 1 " fatturp 

ilvaj inpon , -otc.l 

250,903 

312). 

Contabilita' i;'.+ 

(Tea t te /Fa t t/Cffrt i /etc . ; 4 « . 080 

8168 

Escile e fa c cu re 


299. W 

9125 

■Ccntflb 1 1 1 tu ' l e 

(132 cOlcnnt’Ji 

Urne i =2 t.o 








GfSflCNJ SPECIFICHE 




«4$ 

Viene ì e Rapii- ezontAnt: 

250 . tìr12 

«Wfl 

it-i-ieniiai io ohjpj. e polizze 

150.889 

«104 

Agenzie? :mo.n . :.^r : 


733,888 

«aa« 

^ is:er - e 0 s iij-iioteoiìe 

123. «0 

«148 

Studi Ottici 


338,080 

Vl r i\ 

Fafnici# 


349.880 

«149 

Studi Senne; ui 


339,098 

3152 

5 nudi rtedici 


380.840 

0131 

Efotel c tensioni 


439,000 

8132 

F^rrUrOthief 1 


400.838 

«133 

Salmisti 


439 . 208 

8134 

Clubt fluitici 


759.000 

3135 

Of f icine 


439,000 

8171 

ristorar cs 


490.000 

3179 

Teucra Cald^ 


439,000 

3172 

Lav ftfKÌe r t e 


403,080 

0173 

Ca-rdar.sni'j r*w 


arnlunc i at P 








tmsrjrjNfc xasfn 




11» 

nes -T iter 


73.003 

«Iti 

Ucrd Pt oct- tf so r 111 


180.009 

43.92 

bar-* 3tret t A’: . ti-t 


!9 . ffiffif 

8313 

F.v.y Srripf- 

(Cantxbre] 

75.023 




TECNICI 





Hit 

*•--- "■ .aalzclo óbqL i isolarenti Lenr sci) ljpjfl 0 

0140 

Ifxiennerja civile 1 

(tulcon stturt.' 

250,080 

f;*: 

zi va le li 

ItCAVi intelaiate) 

25C.999 

F4i?4 

Compu to rjh?U ICO 


Ì98 , 009 


; i «nost ic* Chi 


48.830 








■‘ÌAGAZ3 INI 





«142 

«agazzino t Fa t tura z ì ore? stsnplici 

233.339 

814 3 

rtanazìino fG £: ss , -, t L 

{Z>«« arto 

338,308 

«144 

ftaqpiiir™ e fatturazione aqqduvciati 

4 3 3, |,100 

0153 

«ria.! zzino rV' t tacj L : & 

{2583 art,) 

330,090 

«ue 

HùH»£Z L’io alfa ■ì ? e ■. - 

{530 ol , 

253,009 

0159 

*5*3 a zj i no Tac . ,a/Cc i , 

Ì2583 art.i 

338.000 




Llf«:iÌAOG- i UTILITIES 




9IÈ2A £cr*en qe-afiK 

IfÙftCLlS) 

ai .983 

aifi* 

Copia Disco s incoio 


59 . ®B& 

««4 

Petstwd carnet 

(CamodoreJ 

03,933 

01 $5 A £ 000 1 


73.000 

0367 

Slitterà ifiasle 

(CormBdore] 

SS.fflPti 

8164A 

rijrbo Tape 


58.000 

0177 

Fìlot | SifXIUfttiiìIO) 


70.080 

81 7fi 

■jltté EiaBSir 


125.300 

0179 

fTniractar Eiitcr 


78,303 

0i?3A auìic 4 . e 


«9,300 

#194 

aprite Genera ter 


70,Cf03 

«195 

Aasuni lcr 


30,009 

9186 

3-A.H, 

ITtonui 

150.603 

8157 

G- Fisca 3 


95,000 

am 

Fonti 64 

( Comodare! 

95.880 

01?? 

Tool t4 

(Omedeci) 

«5,999 

0200 

Hai ter 04 

[CassodoreJ 

145.003 

0201 A 

scivola CP M 

{CtwwcOocR) 

125.800 




!5ES7 TOMF DATE 





8157 

Cale fttsolt 

i Mandici 

195.8&6 

0161 

[JitA Base rtaflaqer 

{[tal iarv>) 

123.003 

*2f$ 

Super base 

(CorarBodcEs?) 

175.000 

0206 

Ksqlc nesk 

(Ctmncdorcl 

75.038 

«287 

Kos! 4 Joystick 


immiti 

023? 

Liata IjOO. 


320.333 



informatica 


Direzione Commerciale - via tftjrr Rodrigo, 0 - 
30142 MILANO lei 02/6467379 

Direzione assistenze tecnica? 2014 3 MILANO - via Valsola, 21 
Negozio vendite ai (JtibbHco’ Milano - Corto <fi Porta Romana, 123 


10 RE M* ******************************** 


1 1 REM* * 
£0 REM* COMMODORE 6 4 * 
£ t REM* * 
22 PEM* OROLOGIO ANALOGICO CON SVEGLIA* 
£3 REM* * 
30 REM* ROBERTO & ANDREA * 
40 REM* * 
50 REM* BORIAMI * 
60 REM* * 
70 REM* 02/6195626 * 
80 REM* * 


30 REM*** ****************************** 

95 i 

100 XX=0= Y%*=0 !KI»0i Y1%=*0 

1 10 SC*49763f DFt=49728 a PL *49633 iCL*43785:M0 *49821 

120 I NPUT h fcJHA I CARICATO LE ROUTINES GRAFICHE SlflM^Rf 
130 IFL£FT$\ A$, 1 ) = H N" THENPR I NT ,r CAR I CALE " i STOP 
140 IFLEFT*< A*, I X > “ 5 * THEN 1 20 
150 RA = .Gl 74 532925 5 POKE 56530 , 128 

160 tNPUT" 1 JMÌ 1 CAMBIARE L 1 ORA SIWIII !P$ 

170 IFLEFTitC P*, 1 ) » “N* THEN200 

160 1FLEFTÌK X > “S*THEN160 

190 POKE5B587 ,01 P0KÈ565S6 ,8:POKE5S5S4 ,0 

200 i nput * .Murmrwnwwwwt 1 Iri T la sveglia simirio* 

2 18 1FLEFTSC 0 *, I ) = "M W THEN240 
220 IFLEFT^C 0$, 1 X > “ S “ THEN200 

240 SYS SC 

250 P0KE25 1 , 1 : P0KE252 ,6; SYSCL 
260 P0KE24S , 1 i SYSMO ì PQKE2, 1 
278 FDRH=0TD£*iiSTEPrf/6 

230 XX» 153+S INC H>*70: YX=99+C0S< H > *60 

290 X IX- 158 + 5 INC H) *83 « Y 1 X= 33 +COSC H>*73 = SYSDR 

300 NEXTH 

318 * 

328 FQRH =0 T02 * rfSTEP rt/30 

330 XX = 159+S INC H ) *70 « YX=99 +CQS< H > *60 

340 XIX* 153+S INC H> *74 : Y1X=9S+C05C H ) *64 ‘ S YSDR 

350 NEXTH 


1 1 ? - Computer Club 




LIRE 4.800 






COMPUTER 

CLUB 


Presenta 



programmi 

perii 

Commodore 



Anno 1 - N. 1 - Luglio 1984 - Distr. MePe 



360 REM* ******************* ************ 

3 70 REM******** MRTN ****************** 

380 REM** ****************************** 

330 IFLEFTS* P* r l) = *S"THEN8G0 

400 GOSUB540 i (30SUBB30 

4 10 AS^FEEKC 56585) 

430 IFnS*OFTHEN4i0 

430 P0KE2 ,0 t SYSDR s GETG^i I FG$* » g" THEN8G0 
440 AD=PEEK< 5G56G) 

445 IFG*=*IB"THENP*« M N“ : P0KE248 ,0 i SYSMO IGOTO200 
450 1FY-FJ ArCiU=FKAN0A3C< OS > =8 3THEM3GSUB 1010 
460 IFFH=AOTHEN400 
470 XX* 159* YX-39 a P0KE2 , 0 

4 60 Xl>;= JX>;: Y IX=JYX: SYSDR !X Ì‘/>OX%: Y 1 X=OYX: SYSDR 
430 GOSU6540 
500 GOTO400 

5 1 0 REM* ******************************* 

5£0 REM** FLOTTAGGIO MINUTI *********** 

530 REM******** ************************ 

540 XX* 133= YX=99SPQKE2 , i 

550 FG=PEEK< 56587 > : FH =FEEK( 56586) : Z =PEEK< 565B4 > 
560 FJ=< FGAND 15 > + ,625*< FGAND240) : REM ORE 
570 FK = C FHAND 15) + » 625 *C FHAND240 ) 

580 Y1X=99+CQS< FK *RA*G ? *48 

530 XIX = I59+S IN< FK*PA*6 > *58 t SYSDR 

G00 JXX=X1Xi JYX*YIX 

6 10 REM* ******************************* 

620 REM****PLQTTAGG IO ORE ************* 

630 REM******************************** 

648 YIX-S9+CQ5C C F J *60+FK) *RAY2 ) *35 
650 XIX* 153+3 INC < F J*60+FK ) *RA/£ > *45 * SYSDR 
660 DXX=X1Xì 0YX=YIX 
670 RETURN 

630 REM* **************************** *** 

690 REM*** FLOTTAGGIO SECQM3 i ********* 

700 REM**** ** * ************************* 

710 DF^PEEKC 565B5 ) iPOKES , I 

720 TR ”C OFBNO 15? + . S35*< DFANDH40) 

730 YX=99+C0SC TR*R«*6)*54 
740 XX= I59+S INC TR*RA*6>*64 
750 E 

760 Yl/;“99+COS< TR *RA *6 > *57 

770 XiX= 159+3 INC TR*RA*6 > *S7 t SYSDR 

700 RETURN 

790 REM******************************** 

800 REM* QUESTO PROGRAMMA UTILIZZA LE * 

BIS REM* ROUTINE GRAFICHE DI □. TOMA * 

820 REM* PUBBLICATE NEL N , 10 DI * 

830 REM* COMMODORE COMPUTER CLUB * 

S40 REM******************* ************* 

350 i 


18 - Computer Chiù 


360 GDSUB540 : REM* ******************************* 

370 REM* ******************************* 

880 GETA$ 

830 IFA*= fc li"TH£MOl-OI + l 
300 lFP\m= ■BrTHEhOQ=DO * 1 

9 1 0 IFA$ = *H'* THEND I °D 1 +5 

320 IFDI > =60THEND I =0 * DO “DO +■ 1 
930 □□=-< 00< = 11 >*D0 

935 1F = * ■" THENPOK E5B585 , 0 s PQKE565S4 r 2 : GOTO490 i STOP 
940 HO DO - INT< DO/10 ?* 10 > +■ 16* INTC 00/10 > 

350 M I =< D I - I NT< D I . / 1 0 } * 1 0 > + 1 6 * I NTC O 1 / l 0 > 

960 P0KE585S7 , HO SP0KE56536 ,M1 
970 YX-SSJROKEg, 0 

980 xix=jy*y.i riy^jyy.i sysdr ;x i/.=ox>£s yiscoyxs sysdr 

990 GOSUB540 
1000 GOTO880 

10 10 lFO=I5THE!S«ETURN 

10£0 0=0+1 S P0KE54376 , 0 : POKE54277 , 0 ì POKE54272.0 

1030 F0KE54296 , ì 5 

1040 POKE54277 J 90 

1050 P0KE54276 , 1 7 

1068 P0KE54273 ,57 ; P0KE54272 ,37 

1070 RETURN 

READY. 


Ck 



45 


L’UFFICIO 2000 

COMMODORE SHOP di MILAN 



»TOEO F«S C 

ri r- ivo * •or - votato di 80 colonne g # ■ 
sf & as uoa spedate interfaccia hardware 
Potrete cosi sfruttare ie straonìtrmrie pie* 
Mattoni (di atto Uve! io professionale) di 
word processor e di spread sheef motosi 
dot pakage 


[NTERFACCIA 00 COLONNE 

Niente a che vedere con te " so colorine 
gestite dai software* Questa interfaccia n- 
disegna completamente (a pagina video 
dandovi uno schermo dì $0 colonne pe det- 
tamente dettaste Ma è possi òtte utilizzare 
anche a cotenne, per dare ai software 
che già avete imrnrìgtani eccezionali 


LE NOVITÀ SOFTWARE 
CONTA &IL UÀ IVA 5EMPL tFICA TA ; procedura 
compiuta con stampe fiscali 
CONDOMÌNIO gestione condominio compietti 
GESTIONE NEGOZIO: Gestione dei negoito, 
delti i cassa e dei magazzino con emissione di 
scontrino fattura 

ASTROLOGIA : ri primo programma che esegue 
su. u t i< fronte n ftjm p; pastone assoluta tutta ralenti 
deg* astwiogt (ascendente, soie. luna. case, et r > 
LÉGGE 373 - COMPUTI METRICI: L ingegneria 
civile sut E4 

MAGAZZINO FATTURAZIONE: agganciali * 
Per 1500 articoli 

CONTABILITÀ GENERICA tipo dare avere/s al- 
do Gestisco il portafoglio e visualizza > Pria nei. 

fi 1 /s. 64 è insufficiente? 

Realizziamo collegamenti con periferiche più potenti o permutiamo con sistemi maggiori Commodore o IBM 

L 'UFFICIO 2000 - Vìa Ripamonti \ 213 - Milano - Tei 5696520 / 56965 73 - Aperto anche il Sabato 

VENDITA - ASSISTENZA TECNICA - ACCESSORI 


Computer Club- 19 


C OMMODORE 64 


Il Sistema 
“Music 64” 



CZ' he il Commodore 64 abbia notevoli 
capacità musicali è un fatto piu che noto. 

Altrettanto nota, purtroppo* è la notizia 
thè la programmazione del circuito inte- 
grato che provvede alla riproduziooe dei 
suoni è decisamente ardua e molti sono i 

lettori che* dopo alcuni tentativi, dii un* 
ciano alla... produzione artistku- 
m usi cale. 


T J a ditta Nove! International di Reca* 
nati sembra aver trovato la sotuzkme a] 
problema degli a u [liofili che posseggono 
un Commodore 64 t desiderano amen* 
tarsi nell 'eseguire brani musicali, 

<m è U solito programma che consen- 
te* premendo 1 tasti del personal compu- 
ter, di riprodurre note musicali. ¥* Lnve* 
ce un completo sistema Hard/Soft che 


permette di utilizzare una autentica ta- 
stiera chei tramite un adattatore da inse- 
rire sul retro del 64, utilizza le compie®* 
potenzialità del computer stesso. I 49 ta- 
sti, che comprendono 4 otta ve da DQ a 
DO, sono infatti a passo profeawtfle e 
non presentano problemi per chi sa suo* 
mire su di un organo elettronico. 

1 1 bello, però, come immaginerete, non 


PO - Computer Club 


f volo ndr hardware ma nel software che 
permette di utilizzare la tastiera in itìfiniti 
modi. I programmi presenti nella corife- 
rione, infatti, non sozh) -protetti- c posso- 
no essere modificati a piacimento dall'u- 
tente, Se pero nim si e in grado di interve- 
nire sui listati, niente paura: h tastiera 
può essere utilizzata senza sapere nulla di 
prOtp^mntazione o di computer. 

D ci due programmi disputabili, U pri- 
mo permette l'uso della tastiera in modo 
polifonico^ vaie a dire che premendo piu 
tasti vengono fuori piu noie musicali alla 
volta in modo da formare accordi e suo- 
nate a due mani, proprio come nei - nor- 
mali- organi, ( arici tu il primo program- 
ma è possibile scegliere fra cinque timbri: 
Spine! » Accordéon, Tabular bell. Finte, 
Ranjo, Ricordi inno che il menu putì esse- 
re ampliato li piacere dal l'utente a patto, 
ovviamente, che sia un programmatore. 

Il bello, pero, consiste nel fatto che di ogni 
timbro selezionato e possibile modificare 
alcuni tutti! i parametri premendo 
semplicemente dei tasti. In altre parole se 


selezionale FI XTE è possibile trasforma- 
re il suono rendendolo simile ad un oboe, 
ad un pianoforte o ad altri strumenti,,, 
immaginari intervenendo suiTAttack o 
sul Decav o sul R citasi e, in pratica, su 
tutti i parametri su cui poter intervenire . 
In effetti le cinque opzioni che possono 
esser selezionate sono state messe solo per 
venire incontro airutentc- Se questi non e 
pienamente soddisfatto del suono ripro- 
dotto può modificarlo come gli pare. I 
parametri su cut si puri agire sono otto: 
Vtlack, Deca;*, Sustain, Releasc, Volu- 
me* 1 ranspose, VVaveform, Duty ride. 
Se sì combina qualche pasticcio e suffi- 
ciente premere un tasto perche te condi- 
zioni iniziali vengano ripristinate. Se vi 
realizza un timbro interessante vara suffi- 
ciente trascrivere i valori visualizzati c 
riportarli nuovamente quando si utilizza 
il computer una seconda volta. 

C 

ol secondo programma, che consente 
T utilizzo della tastiera in modo monufum- 
co, te possibilità di intervenire sul timbro 
sono maggiori , dato che e possibile ah e ra- 


re i valori relativi ad altri parametri oltre 
quelli già visti. Senza dilungarci oltre ri* 
cordiamo che in questo caso i timbri base 
sono ben tredici ed anche in questo caso è 
possibile alterare a piacimento i vari pa- 
ràmetri ed ottenere riproduzioni sonore 
che hanno, mollo spesso, de IF incredibile. 
Tra gli altri basterà indicare l'effetto 
w ha-vv ha, quello chitarra e uno particola- 
re denominato Kundorn che sembra.,, 
suonare da solo, 

I n conclusione il modello della Nmel 
plNi rappresentare una interessante alter- 
nativa per quei gruppi musicali che, di- 
sponendo già di un rommodore vo- 
gliano studiare nuovi -sound - da utilizza- 
re nei propri brani. Se poi nel gruppo c'è 
qualcuno in grado di sviluppare pro- 
grammi particolari, vara una piacevole 
sorpresa scoprire che non solo i gruppi 
rock più affermati possono disporre di 
versatili sintetizzatori musicali, 

Alessandro de Si mone 



lli manti VJU.HMifff i d.f. V1« Mirtoni 9 /a-lm- taf aceto 

S?W5 «OH'EVMCHl [Wl t*l- 05S/»K42-«4SrJ t/r patub H.iDtmsej 


cu ima ai [in <4 zi ,eaj 

■‘iuowj nociuti r ì« m. 

Viiftw Munirò w ìb.dqo 

**IJvpìIi WirfM *•<+■* cwi iifi 

P ItEor* W niLtfft. 

H Mtl te i lìt 70 ZS.000 

*' • m -M- il 

blu, '* p-ifki, i S. 11 M 1 V, U 

Hrii. 1 trucchi p ìp p*rt itoiiriu* . 

-, ■■ r rw s r * unf tor r I ( , Nu#r r m ■ 

; - v iflflii detonivi. 

n «IP UH PC iQHWttt Zì.m» 

**.<- ■'iLtì Mettili ? ’ «tato urlilo per 

. liUprjnirp ,1 t re nUprc ftJ usari’- rutti 

Ir periferiche >!■= ■ prodótti COMOUMl . 
■ijc pdi|i»ii' r ri lei rrUiiif^ iv 
lUl.tw (pRt ire 11 wflu 1 .Letture n 
iff m!«ri cm l- f u r-j hmutfi S « 

HUJiiWfW Tivù I r PAH p OIBlttrtY 
IIM 1 U/* dell* purt <r ItEF -AH, liti 

irti* le, H5-Z3?. SpICDUlm 1 di i^ué-u 
luEIr le 1 . 1 VI 5 , *!?S, IMS, 

ursni, hfvsw-. jozz, *on. hm^tow 

tri cui UFfLPtffl filli, 
CltOW KFIKKE * «ddlruUtun u*> L-ATA 

usi. 

filli [H Al rEtSflUl Hit 20 76 . Wq 

*'N piu CóBpIdu neruilp lN' V 1 iti!* 
ccpc f" (stir u 1 io « enee futrkmi 
quatti CCflputiif r Epurili. 

«W» rft BMdfil. liAgulpgfg mirri! 'ri * 
SO. Tutti Ti gri-ficn grintUl' rii N 
Hjonn. 


HH tCAWonPt tfl 


KSTIEWAl | 


VlttvrutmtD) 

l? 0 .DK 


1 J 0 .CB 0 

Crfillcne neijjjfOj 

ÌK'.ljOC 

Glutei li c 1 in fu ED J V& 0 , EOO 

Kj S 1 . -.9 f i at ( 0 1 

60.000 

A^erM!* telef.CÓJ 

bCSOM 

V j 1 ÌPt^ f □ 3 

1 ZD.W 0 

wisE/pftoe. 


Uij icfi 3 tl:/«i 

? 0 ,£KKI 

Vi Jlirrite (61 

Ti . 000 

liti 'eri ter f(J J. 

^■.OKJ 

ttj-d Pro Ili (DI 

76.000 

ur il rrvy varie 


Itevi Ut pr e P 1 LSS)- 

1 AO.éWG 

Aj-ilro Car^i ler (i| 

7 D.OCO 

Pet 15 ZK} 

TD .000 

Pisci! on ordini* 

* Ìi . IJCJCJ 

■ * < 01 - 

IM .000 

AVimeiér \h:- 

36 .KO 

(DI* 

H 3 . 0 QC 

!C! 

7 D.OOD 

■HW P«£il (C| 


Stt&erri^n (NI 

30.300 

' <C) 

EO,«M 

Turbo ti.>e (N| 

7 B.WD 

risi ce p y ED] 

SO <XQ 

IUl 

IrO.MO 

01 ih (Vititìr IO] 

60 . IMO 


f» CDlorw [DZM] iD.OOC 

frA DilfUUi 1 DZM ► itì .000 

Hitler |D| HO. 000 

Tool ’C.DOC 

tih «ì ttàott ri* ì?o.«e 

fiict^sih tiulti rt.tw 

- EuplOfl} Ito. OM 
I 1 (i—.dirtl bii-t tCl 7 S.SOO 

i 7 &» 0 »ttO- tt) 30 . 0 K 

Se tw IC| 10 . WC 

Superi 11 * |0p* 1? 0.000 

Buie fcrJqr Iti «.OW 

T910 13 ts/ii to.wa 

EtfU ttAZMJMCA 

UltPiMvIt (01 TD.DQG 

PlftùQriph (C| ÌS',000 

ealftl IO) ve. OKI 

Iteilt pi 1 ti t ED 1 ?S.0K 

(S?J|* $5.000 

Szntlvz (DI * TD.CKrci 

SW ree Iter (DJ SP.000 

Plmo qui le (*3 3 D. 00 O 


PfB vie ?0 


h mi u u [ 

Clio CCftlKWUCi 
ini. $4 -C flit ron Iti- 
ftvtZlUt-tffrtr, 
Buffer Ite Cenlr, 

Jnt. n Ul-?71 

Htnllor Tir* I?" 

4 Arine le 

Sttrip Tei TUBO 
Fipin W VII 
irt vie 
Unirti 
Dicchi «#t, 10 

vmn 

v ic Ciiron (H-^or. 

Vie Hg.BcJ.(<OcrtO 

r.VWHll IN IT All AMI 

fel 5-peeid 
Essy lirlpt 
^ <i«^m Esule 
KiVtrr 
Twl 

tivlc redffi 
Vi * te 


K *1 1 >nij tuttBj 60 . 0 K 1 

Hi^irr ina iEM TS.fKJQ 

f *llur*|-ieneft'l ?i.W» 

►tenit or |N} ?B.£B 0 

40 «Tenni» (Ni 7Z.IKQ 


Tlw — 

[annerite 

Vii — 


GIOCHI 

111 CHIEDE HE PArTtCOLME 


c.a.p. cui* 

iNViAIDU: 


LI irL NDA: E'ONTI E £ 1 Ofi I 


CWTIU 0 O 3 


E, CMfci/K-IU»treZC-'CirtrU| V /*iEcn Ainuilr Vn Ingle». 

3 jwpfji p»T I IMnuili i h 5dwj il netto di IVA, Per tpecMilùni In 

cm-IraiVeifno cileolari ! 1500 «p si»!* peni!' e vivi*. Goff maim’nty mite ipettì 
™iriWcf CM 1 UI 1 A. CftTALK» GMlUItt A RICHIESTA. 


DcAiAi oco croati 

□ 


i« 000 

9 t.DOC 

i;o.dw 

zzo.wa 

7SD.D00 

Iro.nd 
1 SS. 0 M 
690.000 
11 *- 0 W 
145 -MO 
72.D0C 
39 . WC 
Ir'.O « 
1 K.O 0 C 
69.000 


1 5.000 

70.000 
70.000 

7 5.000 
li.OOC 
IQ. 00 C 

IS.W 0 


\ 




^admente 


PERSONAL 

COMPUTER 


MUSIC 


Il sistema MUSIC 64 
è costituito da una Tastiera 
musicale, un Modulo d Interfaccia 
e dal relativo Software da usare 
in combinazione con un Elaboratore 
COMMODORE 64 
per ottenere uno strumento 
musicalo rial le no levo li capacita 


SPECIFICHE TECNICHE 

TASTIERA 

49 tasti, 4 ottave da DO a DO 

* 

Tasti a passo professionale 

Mobile in materiale plastico 
antiurto 

* 

Modulo ó Interfaccia con cavo 
di collegamento 

SOFTWARE 

fornito su Cassetta 
o su Floppy Disk 
da 5 1/4" 

* 

MONO 64 per avere 
un Sintetizzatore Monofonico 

• 

POLY64 peravere 
una Tastiera Polifonica 

* 

Fornito in versione llstabile 
e modificabile 

SISTEMA RICHIESTO 


COMMODRE 64 

m 

Unita a Cassette 
o Floppy Disk Drive 

* 

Monitor o ricevitore TV 

* 

Amplificatore per strumenti 
o impianto Stereo (opzionale) 

Per informazioni 
spedire cartolina postale a: 

Nove! International 

P.0.80X 180 
62019 Recanati (MC) 


Riservato 
agli ingegneri 

If miglior software tecnico su elaboratori CBM - Commodore 
Ora anche disponibile su Commodore 64 



U ormat famoso programma per il calcolo deile strutture intelaiate 
piane in c.a, T in zona sismica, che sviluppa e disegna anche e car- 
penterie delle armature, ora agganciato all programma FONDA- 
ZIONI" che risolve l'intero graticcio di fondazione proponendo una 
carpenteria sofisticata ed ottimizzata. 

L. 1.200 000 (versione giugno 84 - nostra esclusiva) 


"MUFII DI SOSTEGNO" 

A gravità, a mensola ed a contrafforti, anche in zona sismica, se- 
condo il D.M del 27,1 .81 
L. 300.000 


"PENDI! 

Analizza 

se condizioni e la verifica relativa viene condotta n termini di ten- 
sioni effettive: la stima dei fattori di sicurezza v ene e^e~uata se- 
condo i metodi di Fellenius. Bishap e Janbu. 

L 300.000 

“PALI" 

Esegue la progettazione delie armature e le verìiche efi sicurezza 
per fondazioni su pai! ipln c oaiee £ ore.isto a^cne ili plinto 
senza pali, con schema ^ :a :asc : suoc a as:co al i A "skier. 
L. 700.000 




la stabilità di un pendio o di un fronte di scavo sotto diver- 



Uhi JC“ 



1* 



Calcolo di travature reticolari formanti strutture (in acciaio) per co- 
perture industriali. Verifiche di resistenza e di instabilità laterale per 
ogni asta. Analisi delle sollecitazioni indotte nei pilastri sotto carichi 
trasmessi dalle travature e azioni sismiche. 

L 600.000 


Analisi ed elenco prezzi. Metodo veloce e complementare automa- 
tizzato per il computo e la stima dei lavori. 

L. 500.000 


I REVISIONE PREZZI' 

Secondo le disposizioni di legge vìgenti. Praticità ed automaziofie 
consentono di eseguire velocemente rev e on di prezzi anche per 
lunghi periodi 
L. 300.000 


ORARIO SCOLASTICO 

Nuovo ed esclusivo “pacchétto* 1 che inserte a r.esura orario 
scolastico per ogni tipo di scuola si-e^s-ì: - :e - = e : : :a e 
(imparzialità deif'elaborazione 
L. 700.000 

Richiedeteci documentazione e ootpu orogranm r , cs w 

Reste rei e sbalorditi dalia versatilità e ca a :: zi- - - - -* - - 


S1RANGELO COMPUTER Sri 


Via Parisio. 25 - Cosenza 0984 - 7 5 


Anche in condizioni operative difficili 

massima affidabilità! 



Abbiamo migliorato le caratteristiche fondamentali dei nostri 
■floppy ottenendo totale sicurezza in ogni condizione di lavoro. 

■ Involucro HR’ per resistere a temperature fino a 60 Ù C 

■ Particeli© magnetiche fissate su uri supporto di nuova tecnologia 
e collaudato con ri computer per assicurare una stabile e 
costante operatività, 

■ Accurato trattamento della superficie magnetica per una maggior 
durata del dischetto. 

Scegli in favore dei dischetti con «100 percento output». 

I HIC* H- Tf M P £ &4TU F*E « TAN T ) 




Via M. Civitati 75 ♦ 20148 Milano 
Tel : 02/4047648 Tx : 335654 


maxell 


© 


ita nel fi.Fopis G'nJjH LflMtjq StraSe l -i 300 0 jiuelgi.’ 1 1 >i 00 -E ■ 2 1 Si 3 f* S 3B7 2|R m* i i 





l'affidabilità 




Commodore 64 



INTERFACCIA 
REGISTRATORI 
A CASSETTE 


PER VIC 20 E COMMODORE 64 


Adatta tutti i normali registratori a cassetta a 
tuo computer. Ti permette di duplicare i pro- 
grammi da un altro normale registratore. Con 
sole 34.000 lire I.V.A. e spedizione compreso 
potrai ricevere direttamente a casa tua questa 
indispensabile interfaccia, inviando il buono di 
ordinazione accuratamente compilato. 


BUONO DI ORDINAZIONE 



Invio temi N 


Sig. 


interfacce cassette 


Via 


N. 


COI'. 


Città 


— I. 


R.C.P. ELETTRONICA srl 

Via Dar Pasquino Borghi, 13 
42017 NO VELI ARA [REGGIO E,; 
Tel 0522/ÓÓ1471 


Dama 

Cinese 


Un solitario che si gioca si. una 
scacchiera a forma di ero . t 



ìì isivgnp mangiare tutte le pedine: se il 
gioco riesce» ne deve rimanere solo una. 

S^i può mangiare solo in orizzontale e 
verticale: il programma, comunque, non 
accetta le mosse sbagliate. 

Per muovere, bisogna indicare la ca^b 
la di partenza e quella d'arrivo. Va indi- 
cata prima la lettera e poi il numero per le 
due caselle desiderate. 

Esempio: ? F4D4 (Return lu 

L* a mossa può essere corretta col 
"Insi/Del'. Sul video» per ogni mossa, 
compare il numero di pedine rimaste ed 3 
tempo trascorso daJTinizio delia pareti 


Giancarlo Castana 









100 
1 10 
180 
130 
140 
150 
160 
170 


REM ******* ********************** 
REM * DAMA CJhESEB SOLITARIO * 
REM * PER COMMODORE 84 * 
REM * Gl ALARLO CASTAGNA * 
REM + VIA S , G I M I G NA NO 9 * 
REM * 80148 MILANO * 
REM * TEL, 0£/4 135768 * 
REM ***************************** 


180 
190 
800 
E 10 
£80 
830 
£40 
£30 
860 
870 
£80 
830 
30© 
3 10 
3£0 
330 
340 
350 
360 
. f © 


PR I NT ”J H 
P0KE5328 1 j 6 
FR I NT 11 

SIS= " 

S £$= “ 

SHt" 

S4S^" 

PR INT 
PR INT 
PR INT 


: PDKE53880 ,0 


m i m 


IL 


H 5E*: PR I NT " 
rt S3* 

TASTO 1 F7 * “ 


[ P S 1S: PR INT" 

rS4*t FRINT* 

Hjit—P REM I 

GETFS: IFFS- 11 "THEN890 
IFF$< > “ il" THE N2 80 
IFF$ = ‘'ir 1 THENPR INT^' 

PGKE548SG / 1 5 : PQKE54E78 , 848 : PQKE54S76 , 17 
S I =54273 : N=80 s W1 =60 
D I MMC 7 , 7 > i D 1 MNt 9,9) 

PORR- 1T07 : FORO = 1T07 
M< R ,C > = 1 M^XTiNEXT 
MC 4 ,4 > =0 


53* 


380 FORK- 1T03 ?FORH= 1T09 
330 N< K f H >«i irCKTShEXT 

400 NC 5/5 )=0 7* 

418 F0RC = lT09tNC 1 /O=0JNEXT * 

420 FQRC= l T03 :N< 9,C >*0 JNEXT t 

430 F0RK= 1TQ9 i NC R, 1 )=0 iNEKT t 

443 FORK= ITD9 :NC K ,9 >=0 iNEXT 

450 N £,2>=0:NC 2,3>=0:NC3,2)"0:NC3,3>»0 * 

463 NC 7,7)=0!NC 7,S)=0!N< B,7)=0!NC 8,8)=0 t 

470 N< 2,7J=0:NC a,3>=0:NC 3,7 j=0sn< 3..B1-0 t 

430 NC 7,2>=0iNC 7,3>=0:N< 8,2)*0 iNC 8,3J=0 -» 

600 PR I NTSPCC 10 )fi 1 #5 PR I NTSPCC I0)A2* -- *- •*- — 
61B PR I NTSPCC 10>A3*tpRINTSPC( 10>A2* 


430 Al*-’ i — i — i — i * 

500 A2$= " I I I I " 

510 A3$=" 1 — 1 — 1 — I * 

520 Pl4*=*i — i — I — 1 — I — I — i — i" 
530 A5*=" 11111111“ 
540 AG$=* I — I — 1 — I — 1 — I — 1 — I" 
550 «7*="' — 1 — I — 1 — I — 1 — 1 — J " 
560 A3*= " 1 — 1 — 1 — 1 “ 

570 B* = “ABCDEF6" 

580 B 1***1 2 3 4 5 6 7" 

530 pr i nt " ama - 


320 PR INT" f — M I, A4$; PR INT ” >0— ^ p i “ A5S 
630 PR INT" PR INT* —» — l "B3* 

640 PR iMr ittW r ftSg; PR 1NT“ >— lW 45tlPR INT" »»— 0T A7* 
650 PR I NTSPCC 16 >A2SS PR 1 NTSPCC 10JA3* 

660 PRI NTSPCC 10>A2$:PRINTSPCC 10)A8* 

era pr r nt ■ am* 

63P PR I NTSPCC 7 )B 1 * 

690 PRINT-geBSCBU" 

730 POR I = ITO? JPR I NTSPCC 4 )M£B*< BS, 1,1 ) l PR INT! NEXT 
7 10 PR I NTSPCC 7 )B 1 S 


Computer Club - 25 


720 C*-’ 1 » £T 

730 pr i nt'* maaa ■■ 

740 POR J = i T07 » PR INTSPCC 1 1 )C$; : PR INTSPCC i >C*I 
750 PRINTSPCC 1>C**PRINTSNEXT 
760 P R 1 NT " — — 1 " 

770 FORICI T03 * PR t NTSPCC 7)C*I : PRINTSPCC 1 >CS/ 
780 PRINTSPCC 7 )C*; t PRINTSPCC 1 )CS SPRINT 
730 NEXT 
800 D*= l * * 


880 PRINTSPCC 13 >D* 

830 PRINT rt aSHT 

840 PR INTSPCC E7 > * ®405SAfi* 

850 PR I NT - UHM* ; : FRI NTSPCC £7) "a=ED]h£| 
880 PRINTSPCC 27) " RIMASTE fi" 

870 PR“3E 

890 PRINTSPCC £7 > "a "PR“|| g* 

300 PRlNT ,, tì§l'*; ! PRINTSPCC 57) "MT IME*” 

S 3 0 T I *= * 000000 ** 

9E0 «30SU8 1 1 30 ? PR I NT " a'* 

930 FORK=4TOl +4: PRlNT ,4 a u s NEXT 
940 PR INTSPCC 5) ;* PR INTSPCC J *2) D* 

350 PR I NT " 3“ 

9E0 F0RKK=4TQI 1 +4 s PR 1 NT* M" : NEXT 


1040 

1050 

I960 

1070 

1088 


970 PR INTSPCC 5>; 5 PR INTSPCC J J*2)C* 

938 PRINT 'a* 1 

990 FDR2-4TOC I + 1 l)X2+4 : PR INT , r 5 NEXT 
1000 PR INTSPCC 5 ) J tPR INTSPCC C J+JJ )yg*2)D* 
1010 POKES I ,WiFORT= 1TO50* NEXT : POKES I f 0 
1020 POKES I , M J * FORT = 1 TO 1 00 : NEXT i POKES 1 ,0 
1030 PR=PR- 1 

PR INTSPCC 27) "a m PR*m M” 

TTiT=Tl * 

T1*=MID*C TT*^^) : T2*=R IGHT*< TT*„H ) 

PR I NT KWHIH " ; ! PR INTSPCC £7) *a*Tl*“ , "T2*"! 
1090 IFPRC 15THENGOSU614S0 
1 10© IFX® 1RNOFR* 1THEN1570 
I FK ^PRTHENl 500 
6OTO920 

REM *** INPUT SOBROUTINE *** 

REM ***************************** 

FOR I * 1 T08 ! POKE 1 250 + 1,32* NEXT 

1170 PRINTSPCC 27) J I IMPUTI* 

1 1B0 L*= " ftBCDEFG m 
1190 FDRK = ITO? 

3 200 IFMIDtC ia,i, l )«M1D*C L* ,K , I )THENI -K 
1210 NEXTK 

1 £20 J*-*MJD*C 3*,2 , 1 > t J«VALC J*> 


1110 
1 120 
3 130 
1140 
I 150 
ì 189 


26 - Computer Ctub 






CERCASI 


La redazione di Commodore Computer Club vuole potenziarsi e 
ricerca collaboratori part-time e insegnanti di discipline scientifi- 
che e tecniche preferibilmente residenti nell’area di Milano 

Ai collaboratori che stiamo ricercando verrà richiesto di collabo- 
rare alle varie iniziative della casa editrice con articoli, libri, rac- 
colte di programmi e l'italianizzazione di software, di cui abbia- 
mo i diritti d’autore, orientati alla didattica per le scuole medie e 
superiori. 

I prescelti, pertanto dovranno possedere un sistema completo 
di Vie 20 oppure Commodore 64 e sapere programmare sia in 
basic che in linguaggio macchina. La conoscenza dell’inglese e 
di altri persona! computer è un titolo preferenziale. 


Compensi 

Tutti i lavori svolti su incarico della redazione verranno sempre 
compensati in base ai miglior standard di mercato. 


Primo contatto 

Per incontrarci telefonate allo 02/8467348 chiedendo della si- 
gnorina Piera 




1 530 F0RKK= 1 T07 

1 £40 IFMI0*< I*,3 , 1 >=MID*( L*,KK , 1 >THENH -KK 
1250 NEXTKK 

1260 JJ^=M3D*( I*,4 , 1 > : JJ=VALC JJS) 

1270 IFMC 1 1 ,JJ > = 1THENGOSUB1690: GOTO 1 130 

1280 IFMt ( 1 + I I )/2 ,< J+JJ )/2>=0THENGOSUB 1630: GOTO! 130 

1290 1F 1 1 = 1 +£ANDJJ=J +2THENGGSUB 1690 i GOTO 1 130 

1300 I F I I - I -2ANDJJ*J -2THEMGOSUB 1 690 : GOTO 1 130 

1310 1F I 1 = I +2ANDJJ = J -2THENGOSUB 1 690 1GOTO 1 130 

1320 1F I I = 1 -2AND J J = J +2THENG0SUB 1 630 ! GOTO l 130 

1330 IF I I = I +20RI I « I -2THEN1360 

1340 IFJJ=J+2ORJJ=J-2THEN1360 

1350 GOSUB 1630 i GOTO 1 130 

1360 GOSUB 1 390 

1370 GOSUB 1400 

1390 RETURN 

1330 M< I , J>=0!hK I I , JJ ) * 1 U4C ( I + 11 )/g,< J + JJ )/£) =0* RETURN 

1400 N< 1 + 1 , J + 1 )=0:N< 11 + 3 , JJ + 1 ) = 1 

1410 N( < I + I I +2 )/2 ,< J +JJ+2 >/2)=0 i RETURN 

1420 X=0 

1430 FOftll =£TQSsFGRJ 1 -2T08 
1440 IFN< I 1 ,J 1 ) = 1THEN1460 
1450 GOTO 1480 

1 460 IFN-; I 1 + 1 , T 1 ? =0ANDN( I 1-1 , J1 >=0ANON<; 1 1 ,J 1 + 1 >»0ANDN< 1 1 ,J 1 - 1 >=0THENX=X+ 1 
1470 IFX=PRTHENt500 
1490 NEXTJ 1 ! NEXT I 1 
1430 RETURN 

1510 PR [NT" ■■■■13 PUOI ANCORA MIGLIORARE ! ■" 

1520 IFL-=6THENL=0 1 GOTO 1650 

1530 FOR I = 1 T3200 ì P0KE3 1 ,50 ! NEXT* POKES I ,0 

1540 PPINT“D" : 

1550 PRINT* " : REM 33 SPAZI 

1560 FORI * 1TO200SFEXT! GOTO 1500 
1570 L=L+1 

1530 PRlNT’tmUa COMPLIMENTI ! SE] UN CAMPIONE ■" 

1600 IFL=6THENL=0 ! GOTO 1650 
1 S 10 FOR 1 = 1 TO200! POKES I ,50 i NEXT: POKES I ,0 
1820 PRINT“Q"J 

1630 PRINT" " " REM 33 SPAZI 

1640 FORICI T02BB * NEXT ‘GOTO 1570 

1650 PR1NT- M— 1 VUOI GIOCARE ANCORA < S/N) ? ■ 

1660 GETQ*t IFQ*=- 'THEN1S60 
1670 IFQ*= ’-S*THEN RUN 
1690 1FQ$ = '“N"THEN END 

1690 P0KE54296 , 15:P0KE54278 ,248 : P0KE54276 , 17 
1700 S 1 =54273 :W*80 iUl =60 

1710 POKES 1 , 13 : FOR I = 1 TO50 : NEXT : POKES I ,0 
1720 POKES 1 ,20 :FOR 1 = 1TO200 f NEXTiPOKES I ,0 
1730 RETURN 
READY. 


28 - Coppale r Club 


V ic 20 Inespanso 



Caccia 
al Ragno 


Questo programma, come dice il 
titolo, vi permetterà di cimentarvi 
in una appassionata quanto peri- 
colosa caccia al ragno. 

V «diamo un pò* h regote del gioco. 
sullk sinistra deflo schermo oppuriri la 
canna del vostro fbdk, ad una altezza 
variabile scelti casualmente Dall'alto 
scenderà un natilo, cakiNksi coti la ra- 
gnatela- Posizione sullo schermo e veloci- 
tà dì discesa sono anch "me scelte 
casualmente- 

p 

M rr sparare bisogna premere il usto 
«space* t tenendo presente che B npu si 
arresta al momento dello sparo. Sessi coi- 
p &ce 11 ragno, tutto bene; altrimenti co- 
minciano I guai! Infatti questi sodo ragni 
di una razza particolare, molto intdhgen- 
te* $e non li colpite, questi fdrbacdik>ai 
vanno a costruire un muro, piazzando un 
mattone alla volta, proprio davanti al vo- 
stro fbdie. Pfó il muro diventa alto, più 
difficile diventerà per voi poter sparare. 

P otri capitare, infatti, che 0 ftadfe ven- 
ga posizionato ad una altezza inferiore a 



quella dd muro. In questo caso U ragno 
potrà scendere indisturbato, e stornare 
un altro mattone sul muro, aumentando 
ulteriormente il vostro handicap» 

oche per voi però c'è una pnmihilìtà! 
i vostri proiettili, di una lega speciale, 
sono in grado di sgretolate un mattone In 
due colpì* D primo colpo comprime il 
mattone, mentre il secondo lo attraversa 
come se niente fo me» Se vi trovate di fron- 
te Il muro, quindi, sparate b stesso! Se in 
futuro vi troverete mUn stessa posizione, 
potrete sparare al ragno forando li muro. 
Ma attenzione: D prossimo ragno che non 
colpirete, andrà a tappare Q buco, invece 
iti piazzare il mattone sulla sommità del 
muro, 

I ragù! in totak sono 20, ed a turno 
scenderanno per costruire il muro» Se li 
uccidete tutti, avete vinto; se Invece il 
muro raggiunge una certa altezza , tale da 
non permettervi più di sparare, allora i 
ragni prendono il sopravvento e voi avete 
per»» In alto a destra apparirà 0 numero 
dei ragni uccisi, a sinistra il numero dei 
colpi sparati. Se volete interrompere U 
gioco, ricordatevi dì premere il tasto -Q» , 


100 
l 10 
1 20 
130 
140 
150 
160 
170 
180 


REM CACCIA AL RAGNO 
REM PER VIC E6 INESPANSO 


l 

SI =36874 SSE = S1 + 1 t S3=S 1 +E i S4 =S 1 +3 
PU = 4 ! V =5 S PQKE3B979 r 30 5 POKE3B878 , 15 



D = S2 ì TR=£0 t LI-307E0 s GOSUB180 ! GQT02 10 


FRINT 1 ’ iX' ' 5 K*=“*T - FQR I = 1 TOD * PR J NTX*# s f€XT 


Compv ter Club- 29 



Con i nuovi programmi itali 

Commodore 64 ser 


Per tutti i possessori, anche futuri, del 
personal computer Commodore 64 c’è 
un’importante novità: la creazione di una 
vasta serie di nuovi programmi realizzati 


PROGRAMMI SU DISCO 

PER CBM-64 

Prette il pubblica 
(IV a cacTùsiJ 

GESTIONE AGENTI RAPPRESENTANTI 

29.000 

GESTIONI: AMMORTAMENTI MUTUI 

29.000 

GESTIONE ANAGRAFICHE 

Ì9.000 

GESTIONE SCADENZE POLIZZE 

75.000 

TOTOCALCIO 

23.000 

GESTIONE BILANCIO FAMILIARE 

23 000 

GESTIONE CONDOMINIO 

1 89.0Ù0 


espressamente per le esigenze italiane. 

Con questi programmi i tecnici italiani 
della Siri us Elettronica mettono a disposi- 
zione un servizio che trova Utenti nei più di- 


IMPARIAMO IL BASIC 

39.000 

GESTIONE STAMPA FATTURE 

34,000 

CENTO PROGRAMMI PER CKM 64 (diddii 

49000 

GESTIONE FIDO CLIENTI 

29000 

GESTIONE CONTO CORRENTE 


GESTIONE CONTI C FG 


GESTIONE APPUNTAMENTI 


GESTIONE ORDINI 

75,000 

GESTIONE PORTAFOGLIO CXI/FOR 

49000 


E lo trovi 


w 


ause ì'mi s a i 

t io Mìigeftik. 

20 i23 MILANO 


PIEMONTE 

ALBLRTEN s n c 
Via Sttadel b. tu 
101*' TORINO 

SOFTEC COMPÌ T£R S.r.l 
C.JP ^ Maurizio, r 9 

§tìl2* TORINO 

rEKNOCOMPLm-ItS 
Via Madama Cristi ria, ii7<. 

10125 (ORINO 

HOBBY SOI INO 
Cono Tr jiùm. 29/ Il 
1(1115 TORINO 

ROSSI MARCO E FIGLI 
C'.so 'Nìzzj !6 
(2100 CUNEO 

LIGURIA 

MARISA StLANO 
V'b Carducci, US 
16131 GENOVA 

RAPPR FI d. A TERSO 
Vi* Borgo Ratti. Zl/(. r K 
16U2 GENOVA 

VlDEON di BOREA 
Vu Armenia, 15 Cancello 
16139 Gt : NOVA 

M AS£A AGOSTINO ul 
\ E.! Canitìjjrr-i L7/R 
16159 GENOVA VOL TRI 

DIGIT CBN TER > nx 
Via A iseeeitt, 7B 
I601È RECCO 

£, A S. A, COM, S t*. X 
Via Adirle Sim suo.. 8Z 
18L00 IMPERIA 

Jil.TR.QN s.nc. 

Via LunLKuna, 602 

39100 LA SPEZIA 

LOMBARDIA 

AL RISPARMIO dj CASTOLDI 
V.le Monti, 20* 

3GL26 MIL ANO 

A R T E. 

P ie CsdOTTVi. Lì 
30121 MILANO 


BRULLI M ì GAS <]r V Ll'OSl 
V u ElrnlcilO 4J 
20:21 MILANO 

C Q D 

C ontorno Grot>iwti Detugi'oun 
P is Pf Artidi., ì 
2{H46 SUL. ANO 


WORK SVS1LM di M AMORE 
Via T-nrinu, Ili 

201>S2 CASSANO PADDA iMJ- 


M ARI AM S : COL SGROSSI 

V le Hnanja, 23 
20OJ* MEDA iStli 

vlHM INFORMA TR -A SYSTEMS 
C so Ruma, li? 

200T5 LODI [MI) 

SUNNA GIANI R ANCO & C > n«. 
V-i^ Calchi, S 
27100 PAVIA 

C ART di TORRI £ PROSDOt IMI 

V i,i N.ifKilcuna, f?/S 

22T09COMO 

FERRERÒ SERGIO 
Vm Mameli, 22 

7 1052 BUSTO ARSJZIO - Vai 

L.'FLE TTRONK A 

di i ANALI GIORGIO i.n ^ 

Via Speroni, 14 
23100 VARtSl 


TECNICA U JOGRAl IC A 
contabili: 

Gali Ciurmi 

C ASALMAGI..IOR I i( R i 

m-KE TEMfORlN 

C.ìoGcfiuvj. II? 
vm VIGEVA NOI MI 


V » SI TO 

VI t , . di Ctrl I e c; 

L 'ao Cjvijur. 35 

:7P> VERONA 

CESIDI 1 >,i» 
li i F REDOLI A C 
\ m LdtJnelli, dj 
>7100 VERONA 

KABUKI RAF! ALILO 
Vm Steli*. I? 
r\7\ VERONA 

NOV A S> STI Miri 

V j Dmeipiin ». q 

.DOS* v M ARTINO li A |VR , 

DAICOM s rl LJAI ZO VI USQ 
Via Na i 5 
>6100 V ICKS/ \ 

ZVIXATQt r I 
C mi Palìadie n 
J ò 100 VICI NZ\ 

MARANGt INI GIUSI PPE e ( 
Vii Marconi, 8 
36019 St HIO r Vii 

COTIC A SAVOIA 
Vu [aria rulli. *K 
RE IV FRI TO I FNl 

PRiK'LLI-J k 
V in K in Brandelli. 151 
>Kfl3> CAVAI ISK (FNl 

COMPE l i R POINT 

S ìa l'iovesr, >7 
isiixi Padova 

CàBHT ri 

V 'j Ariflota ! I 
>5100 padov ^ 

SIC ITALI \ 

Vi* PiÉiijf-.-, r.ì 

15(00 FAllO* V 

t A PETO R 
Vi* _S VlaiL-ji 
« >100 vs M VI A 


F LL1 BONAZ/,1. S.r.l. 
Vu V Sarpt, Il 
MKJ4 MILANO 


CDMM PER GOLETTO 
Vu SV Siirjiihif ^6/vS 
26013 CREMA 

PRISMA 5 n c 

A u dnvkri, 35 
26 100 CREMONA 


Giti UGNI LAI R \ 
Vi., (PfHidnj. 5! 

2LÌ1JI Nili ANO 

GIGLIONI S r i 
Via Slurtfl. O 

som sili. ANO 

M AH CULT I SpA 
V'b \ Hi Bronzei!., >7 

JtH? 1 ' SUI A M > 


PENA 1 1 s n.c 

’i u Verdi. Zfl/30 

JOULI CORRETTA iMh 


I- HI G IR i i TO u.i 
S li Oipsiirt P-: . se-k 2i 
san \RitM30 avi 

tR£ì * r =■ 

Va ftifltr 

} H>' CESSALTOiTVl 

TAL AMENii e_ L V IO cC l (F 

Vj Ga<: . 6- idi. 2 

3(029 VITT VENETO (TS i 

fltlLI VENEZIA OILUA 

CATELLI FRANCO 
P.rj XX Seticmbrr 
DITO POR E TENONI 

rREVTSAN ine. 

P i ri Du-nma Ì 
D * 1 dine 

AUDIO vjaTKIX W’ dt ZINI 
V* Marconi Z4 
J4I3> TRIESTI 

FORNIRÀ D di CAS ANELLI 
VSa Culo^nia. Hi/I> 

34(26 TRIESTI 


EMILIA ROM AG W 

REGCHlONIPft? ARTUmt ■ 

v Or as - 

i- " BOLI »GN 

BRLGHFNnf v£. 

V il R ’ Z ftis j t 
,10122 BOI (KsN A 

COMPÌ TER SHO? 

J RON( HI TONTNi . 

Vm Efhiiu, 

«o:* |M H A BOI 

MlCROlNFORMATiCS 
P ;.u sijfi:" ' i 
*1049 SASSUOLO i Mf i 

E, A M COMPÌ TER jrc 
Vu C BuLEblC, i ' 
iljfXS RUBLLR a RE) 

FON GOL INI ItLFCF t F ! 

Vìj^ t avjjur. >2 

JiQJfi FIDENZA l PRl 

OV AM lino 

s i,t Mtganarn. 

4*022 COMA( CHlO iFL : 

FL ECTRA J.r l 

V «j. Capcmiai> 

47K(0 KIRL.i 


CHIARI VTTTOII1D 
V akT.* 

4 >" RIMISI FO 

GK> VX 
Vu Potesme. 355 
47021 CLSf N A 




OTTICA aRCF-RE 
di HOM VIARIO e C s.nC 
V u Brenta. * 
i 7036 RIC ClONt XQ , 

TOSCANA 

VfOl STIC FTDELITY di BiAGlGTTI 

s a PiMr’ij, 16 1 

FIRENZE 

? SOLO IR ADE CENTER cr t 
F ::j :‘eld Cfr^ ìi 22 
■ LECCA 

Bfc NETtl IV O 
^ - N t ;. .'tuie. <* 

TERRARDSSA IMS) 


pi..- NI SILV ANO 
V j, -neo 6* 

'-otto PIS A 

= - - ELETTRONICA* n ; 
bvre U 

r ptsciA rt 

IM1BU 

Vii : ' MPrR N' E LEU mt 

r V a VX Se^--rt. ^6 
‘ 06 v PEIL ÌLa 


tiUOi 

ELETTILOCaSa d£ P1ERONI 
v if vu^iz. s 

» JJ I rlE (MQ 

t % Fr = + '7± 
v * C«^4= * 

CORRIDON^ MC ■ 

A LIMO S^O? 

V * : 

ASCÙLI PSCENC- 
VLU ELETTRONICA 

J ^ - ± — n 

pori c : «.>: : lj - a pi 
DISC O C1,j 

V a a — - 

KEAMC i ' 

DW£ MC A 

■ j, - -art?* . 

S r : N ; - “ - - ìL TRON TO (API 


ani della Sirius Elettronica, 


ve proprio a tutto. 


versi settori delle attività produttive: dal 
dentista all’albergo, dal negozio al teatro. E 
molti altri ancora. 

Programmi semplici da usare, chiari, e ra- 


zionali. E in italiano. 

Tutto questo per valorizzare sempre di 
più Commodore 64. 


GESTIONE LIBRERIE E BIBLIOTECHE 

29.000 

cash computer ristor anti 

89,000 

MAILING LIST 

75 000 

WORD PROCESSOR 

7S.OOO 

WORD OS MAIL 

139,000 

CONTABILITÀ FATTURE C/F 

49.000 

GESTIONE ALBERGHI 

139 000 

CASI! COMPUTER PARRUCCHIERI 

4 9 IKK) 

CASH COMPUTER COMMISTI 

49 000 


MAGAZZINO E FA IT ORAZIONE Hj<> m* 


GESTIONE STUDI MEDICI 

49 (XX 

DUPLICA TORE ARCHIVI 

23.GOC 

SINTETIZZATORE MUSICALE 

29.mc 

DATA BASE _ 

39.000 

RUBRICA TELEFONICA 

2.1 ODO 

GESTIONE STUDI MEDICI ELABORATA 

239.000 


E X PI R T SYSTEM GIOCO DI DATTICO 23.000 


ovunque. 

PASSI Hnfi PA.E rjMiui Axjti 


PASSI Hi 1 

Vis Orti vani , 41 

ÓÌ02J FERMO (AP? 

SIP UFO SOI INO 

Vjj( Matrmu 

CaMPOHLONL iAP) 

PELLEGRINI MAURO 

SlXidi SliiUif A dn.it 1.4 

Marzocco di sfmgali w gì 

LAZIO 

PALOMBO ANTONIO 

LCM IN HI H 

1 , ^ti Repubblica l^i/ìdS 

04]L<1 LATINA 

TOCCHI \l LI RI NA 

3. jto Marconi, '4/1^ 

«:4n "1 APRI LI A U T) 

V v a Sol Ni) % ni 

V ù Mente Efappa 1 1 

GAETA .LI ■ 

c A R E T i ri 

ARRI /./C> | MOLISI 

L no Beloni 4 

00191 ROMA 

KLLI TOC ih. FTT A 

Via Sj JJ u , N 1 

CIARLANE INI xrl 

Via T ùJTtxcii Lbca^ j 50 

QOIóH ROMA 

L'aquila 

ASPRO N 

V:& Arncrna, 

SVEZZA NO (AQ> 

DISCOTECA F'R ATTINa 

V u Frjtbna, Alt 

00IS7 ROMA 

LITTORIA NICOLA cC ì.ì..-, 

Vìa PirvatJ P, (. ileiiomn, 4.^ 

EU TTRcìpOltEk di 01 DT MARIO 

SULMONA ^0 

Vui Votimi*^ 401 ab 
'XHES ROMA 

NERE \IMC IÉ1 

V f t4 Nazjjrio Sjuru, rio 

FOTO FORNITURE DE BERNARUIS 

GIULI A NO VA liti 

1- ì.i Cànge tic rii, éJ 

ROMA 

AI.-CIM DOMI. NILO 

Vi» Nazionale 

MFRPHOTO srl. 

ROSETI i- FJFGl i ABRUZZI (Iti 

Ara'iOnKi II. 433/440 
»l« ROMA 

ELETTRONICA TERAMO 

P in Martiri Penney» 

SAUTFCAL ViDLO COMPÌ. n R 

TERAMO 

GALLERV 

- a Decani Vtccfm.^/ìn 

joiss Roma 

fagma elettronica 

v le Reacn* Mefftlurai^ , "4 
PESCARA 

LEONARDO 4 ri 
‘ ia Chiifnn 7 1 ? 

0)44 ROMA 

STEFANO NICOLA 

Via Madnrma dell 'Ani lo 

vasto reti) 

METRO EMPORI 

■ 4 1 AiftÉic 1 !o t? 

«1% ROMA 

PP ] ROSE .villi Ó AMLt IO 

P./i FÉbturlo JU 

L ANCI ANO C II 

RADIO NOVELLI 
? ir Prencxlrirfci. 34 
?6 ROMA 

SISTEMA s r.l 

Via Mfsnsi^nen' Hulo^ra 

CAMPO BASSO 

R aPPRESFNTANZE f. TECNICHI 

V -* Ora/m H 24 
■400 ROMA 

F LU SCIUSCIÀ 
< M) Um berlo 1 

TERMOL E (CHj 

< PM di MANCINI 
■ a G-uFii. 3*2 - 142/ A ■ W3 

PLC LIA 

€1*6 ROMA 

AF.TEL 

' >NEL ONL FOTO OTTICA 

V,a Fanelli, J06/24 

^ adio rv 

; - i“Li Ci^iilcijen, E5/I 

KS*S ROMA 

BARI 


INSl APE ALIA BaGNaRDE 

\ i4 Cardasti. ;G/12 

HAKJ 

DI CESARE GIOV ANNI 
f* /a Vf j jrf:i n 1, 7/ IL/ 
i LSM RMINO (BA 

Mi VihMITOlO 

V i.i I ab ni Li 
BITONTO tb.\ì 

BtSGEGLtA Cai DONATO 

Cuf'i (JiAF-Doni 23 F 

-■ MARCO IN LAMIStFGl 

M ARANCI NICCOLI GRAFIA 
Vm A c darti, 27 
HH INDISI 

RUGGÌ RO VITO 

Vii A Sj:JcI1i l ‘5 

4 VII 1.1 Ut 1 NORMANNI i|iR ■ 

usto di Mar AGL INO MICHELE 
l io Rgir*, IW 
M VSSA.FR A (T ARANTO) 

C \ME.t. diCAMASSA VINCENZO 

V .i Marìmossi. l/j 
LECCE 

MOKI r.ASO FABIO 

V Madonna de H-nrif. m 

novoi 3 arca i 

CAMPANIA 

SGNLTI L AGNETO (ut 

V in t «Tulio Podio 74/8? 

NAPOLI 

m KiAsh salva tom e i neh 4 ti c 

V|.J | ,lfl/ic’H. : 5 / 2 n 
N APOI I 

[ LI I Dì PIETRO Sp A 

P za Me rea io iìj 
NAPOLI 

ni w tu pica 
rOJIcru L ritenti I L 

napoli 

LIJXOR RADIO 
(.Allena Umberto l, S l/S-4 
NAPOLI 

f' V ELETTRONICA 
i V ACCHIANO l'fi vNCfòìCO 

V ■ j R rifinì ? I 

t li t (ANO ■ N A j 

DILLA FRONTI GAI. T ANO 
L *» Vittorio Enunuele Fin 
■AVI ; 1 ino 


FLIP-FLOP t ir | 

V u Appi*. M 

aGRIPALDa i AVELLINO) 

oh vndi m agazzini picciotti 

Via Midnrtna di Fatima, 13 
SALERNO 

CALABRIA 

\NDRF.ON! Di CALABRÒ 
¥ RANCI ‘.SCO 

V là ( juroli, 4 
REGGIO CALABRIA 

PUF INVAI ANNAROSA 
V'é N .mutilile 1 

A Ri ^ NI IH REGGIO CALABRIA 

F Hi Gl Al. I li RI 
( --i IL. ,‘pni ! L -" 

COSSN7A 

GIORDANO GIOVANNI 
P.z.i Prowintu, j 
COSENZA 

Al J HO UDÌ- L ITT SHOP 
di SODILI VU: 

Via Spassar! H 
C AT AN/ ARO 

GRANDlNFTTt RINALDO 
Va Beau Ardili, Y 
CATANZARO 


SICILIA 

CFC 41 I 

V,j NeEa/b.rtol(.i 2?R 
PALERMO 

I CT S p A 

Vra L. drs Vinci. 213! 

PALERMO 

M IGLIORE S r A. 

Via CùsTanima, J, ! 

PAI ERMO 

PEDONE S f A 
v ce Sirsiburs& 1 *■ 
PALERMO 

I RAFANI SALV a TOR f' 
Vta Roma, >123 
PAI ERMO 

OTTICA l O Vili LU 
\ il A tenta, 1 1 
AGRIGENTO 

PEtOft ILLA IGINIO 

Vii Ale ned 24 

AGRIGENTO 

SC ARROTA ANTONINO 
P mi Notai. 6 

I RAPANE 

FEHR AUTO srl 
t' su Umberto. 233 

caltanise n a 


sirius 

elettronica 

MMNOfìORI (ASSAfìOj Pai zm f 2 5” pano Tel 8245321 


190 FCRJ = 1T0£HPR1NTX*JSPCC 20)X*J «NEXT 

EOO FOR 1 «8 164T08186 I POKE I , 102SPOKE 1 +W ,PU I NEXTJ RETURN 
ElO R»10tC»3lGOSUB900lPRINT"KACClA AL RAGNO" 

BEO PR I NT “ — P REM I UN TASTO * ■ GOSUBS t 0 

E30 L=93! Y=LsX“'7703i POKEX, Y:P0KEX+W,V<S»EEtN»3£iM*3EiU«^£t VE=»E0O 

£40 FOR 1 * 1T08 i GETA6I IFA*< >" "THEN3 10 

£30 X-X + S iPOKEK ,U i POKEX+W ,V t GOSUB9E0 

260 G0SUB930 ! POKEX , L s POKEX+U,Vt NEXT 

£70 lFL*NTHENGOSUB910tGOTO£30 

£80 POKEX ,Ui POKEX +W, V s GGSUB930 i IFPEEK< X+0 > “3£THENM*9 

£90 GOSUBS30 i POKEX *-0 ,Mi PQKEX+-W+D ,PU » GOSUB940 1 GQSUB930 s POKEX ,N 

300 S--££JL=3£iGOTO£40 

310 PR INT'ii* IGOSUB180 

3E0 FORG» 1TO20 lGETA*:NEXT 

330 SP*0*RA“0JRR-0IUW=0:R=0t C= 1 8 1 GOSUB900 1 PR INT'fiB'SC : PR 1NT“®Ì»"T 
340 R« INT< 13HRNDC 1 J +5 ) 

330 F*=CHR*C 144 ) *CHRS< 1G3)+CHR*< 163>+CHR»< 17) 

360 F*»F*+CHR*< 137)+CHR!« I37)+CHR*< 163)+CHR*< 163) 

370 F0*= ’ mU “ IC*=1 IGOSUB900 :PR INTF#1G0SUB9 10 
380 VE 4 *RMD< t ) * , 3 ) *30 1 C = t NT( 1 1 *RKO( 1 ) + 1 ) 

390 X1-7710+CSPOKEX1 , Y! POKEX 1 +W,V 
400 FORSS=1TO£0 

'410 X 1 *X 1 +D : POKEX 1 ,U> POKEX 1 +W,V 
4£0 1FSP-0THEN0ETA*! IFA*«- " " THENSP - 11 GOTO460 

430 ÌFA*« *0 " THENPOKEV ,0 1 P0KES1 ,0iPOKE62 ,0:POKES3 ,B:P0KES4 r 0 : END 
440 GOSUB9£OtGOSUB930s POKEX 1 , Y! POKEX 1 +U,ViKEXT: POKEX 1 ,U f POKEX 1 +W,V 
430 GOTO380 

4B0 T=T + 1 iX = 7683+0*Rt FORGI = ITO 17! POKEX + Q ,62 : POKEX +U+0 ,0:PDKEX+Q .N 
470 M-X+Q+l* 1FPEEKC H )< >NTMEN490 
480 KEXTQ 

490 IFPEEK< H)' 102ANDQt 7THEKP0KEH , 1 1 8 i POKEH+W.PU * GOSUB930 : PP= 1 
500 1PPP=1THEFF0KEX1 ,YiPOKEXl+W,V!PP=0iKCXTSS 
310 1FP£EK< H>* 1 18THENSEXTQ 

520 1FPEEK< H ) » 102THENGOSUBS50 I I FWW-0THEKPOKEX 1 , Yt POKEX 1 *W ,V S NEXTSS 
530 I FRR= 1THENGOSU87S0 ! GOTO590 
540 I FPEEK< H ) =UTHENGOSUBS80 
350 1FRG=1THEKRG-0SPOKEX+Q+1 ,3£ 

560 IFTR=0THEN630 

570 IFPEEK( X+G + 1 ) “YTHENGOSUB940 1 RR= 1 (X2*X1 !UUi*l : GOSUB690 : KEXTQ 
580 IFPEEK< X 1 +D ) * 1 02THENGOSUB 1000 
390 IFPEEK< 7773 )“ 1 02THEN840 

600 FOR I “SSTO ISTEF- 1 t X 1 *X 1 -D ! POKEX t ,NI TT=S IN< 5 ) * NEXT 
610 C-l tGOSUBSOOiPRINTFO* 

620 G0TO320 

630 PRINT*J*MHAI UCCISO TUTTI I" 

640 PRINT"aiFAGNI 1 N " I TJ "TIRI 1" 

630 PR INT! PR INT'flMt/UO I GIOCARE ANCORA 7" 

660 GETA*: IFA*«" "THEN660 

670 IFA*< > -N’THENT-eiSC-OITR-aOIFW-BSGDTOaiO 
680 END 


32 - Computer Club 


Se non volete problemi di memoria, 

meglio far lavorare 3M. 



ì problem di memoria di 
un'azienda trovano la prima rispo 
sta nel la 3M già nel 1951 . anno n cui 
la 3M sviluppò il primo nastro ma- 
gnetico per computer. 

Questo dato fa drce lunga suf 
primato di esperienze tecnologiche 
maturate m questo campo dalla 3M. 
sul patrimonio di qualità e affidabili- 
tà dello produzione 3M nel settore 
dei supporli magnetici 

Prendiamo le diskettes, ad 
esempio: omologate dai maggiori 


costruttori, certificate al 100%, ga- E non solo con i prcx 
rantite 5 anm T esportate in tutto il formatici Ma anche eoi 
mondo, distribuite m Italia attraverso fotocop atura, microfilmi 
una rete captare di 400 punti ven- e di telecomunicazione 
dita E soprattutto disponibili in una 
gamma completa sia nella misura 
da 3 pollici che in quella da 5 e 1/4, e 
con un esclusivo rivestimento ma- 
gnetico che consente un'eccezco- 
nale resistenze all'usura e la massi- 
ma affrdabrlità. 3M ha sempre una 
risposta pronta per i vostri proble 
mi di ufficia 


La tecnologia risponde 


PRESENTI 
ALLO SMAU 
Pad. 13 
Sai. 1 / 
Post. A26 V 


Prodotti per l'Informatica 

Op*r*lrm# Sralemi p«t njTJiCiO 

S«tfe- Via S tono. V3 20090 Milano S £ óbc® Sograle Tal 02i , 7il J jE 

Fit.a:i 1 orinola MesErn r,j| 04 - Ganc-va Tel Q1&451OT 

T é?i 031/55715? f priore T e 133, ''Sii**! 1 noma Tel 06*534 Jì - T#' OH'i't6C2(K 

Ois-tnb-HjfHX Su^rij^air iiì Sulla Yflhq- Ci alte a *4 Cenili n* ecta-li qr 3' t, Igjn Iure pe 


nti * 


. ìp* 1 ^ 

j[ 










690 P0KEX+Q-2I , 74 ! POKEX + UI + Q-2 1 »V 

700 IFPEEKt X+G+33 > = YTHENPOKEX+Q+23 ,85 SPOKEX+Q+W+23 , V « Rfl" t 

710 RETURN 

720 IFRH-0THEN740 

730 FQRCC'7710 + C-*-D*RTOX l -OSTEPD « PDKECC ,N« POKECC-Hd , V «NEXT 

740 VE <= 15 1 IFSS=20THENGOSUB92B« RETURN 

750 PQKEX 1 ,N:FGRM=X2T0C X2K 19-SS ) *D >STEPD 

7S0 POKEM,U«POKEM+W, V « GOSUB330 * POKEM ,Ni l\EXT 

770 POKEM, UtPOKEM+W,V«GOSUB320 

760 P0KEM,N«F0RMM=MT08 150STEP-1 *POKEMM,U : POKEMM+W, V 
730 6OSUBS30 : GQSUB920 t POKEMM,N 

800 KCXTM'U FQRP = 11X120 « IFPEEKt W-2X >NTHEN»M = MM~0 ! KEXTfl 

810 P0KEFB-I-1 ,U : POKEJ't'l+W- l ,V«GQSUB340 

620 POKEMW-2, 102 i POKEPW+W-2 ,PU « GDSUB9 10 

830 FOKEMM-1 ,N: RETURN 

840 PR INT "«JBHBHfl 1 PERSO !!■" 

850 PR INT* HA I UCCI SO’; SCI 'RAGNI * 

880 PR INT "®|IN“ * T* “TIRI* 

870 P R I NT 1 — * ; TR ? "RAGNI SONO * J ! 1 F TR = 1 THENPR I NT “ MHW E' 
880 PRINT:PRINT"BPNCORfì VIVI *1 ; IFTR = 1 THENPR INT" IK) " 

8S0 GOTO650 

900 RC*=*H*+LEFT$< R*,R>+LEFT*< C*,C) !PRINTRC*J «RETURN 
910 FORK » ITO 1 000 «NEXTt RETURN 

920 P0KES3 ,230« FORZ - ITO 10 « KEXT« P0KES3 ,0 «RETURN 
930 F0R2Z= ITOVEsKEXT! RETURN 

940 FORAfl=200TO230STEP5 « POKES3 , AB * NEXTAA : P0KES3 ,0 « RETURN 
930 FORAA=230TO128STEP- 1 , 5 « P0KE54 ,AA : POKES t ,AA 
960 NEXTAA ! P0KES4 ,0 S POKES 1,0» RETURN 
970 FORZ “230TC180STEP- .5 «POKES 1 ,Z «(^XT« 

980 POKEH , 170 « POKEH+W, V « TR *TR - 1 
930 GOSUB970 « SC=SC+ 1 : W14= 1 «RG= 1 « RETURN 
1000 M*X1 « SS = 20 • GOSUB920 I POKEX 1 -D , 75 
10 10 POKER! + W-D , V « VE» 13 « GO SUB 780 « RETURN 

READY. 


34 CowpulcrCiLb 



Studi Avanzati 



Gli Alberi Binari 
di Ricerca 


Un breve listato che consente di 
rintracciare \ dopo soli tentali vi, 

un certo dato inserito tra altri 

65535!!! 

c 

k_7 t cu rumente (ulti I fortunati possessori 
di un Perwiìul-Computer operante in fta- 
sic e corredalo da un floppy-disk ni saran- 
no almeno una vtJta posti il problema 
della me mori //azione t del trattamento 
di una serie di dati nume rìdanoti (agen- 
da telefonica* contabilita domestica* in- 
ventari* data base ctc.|. I na grande 
maggioranza di questi* non avendo altre 
basi teiì rie he se non quei le acquisite in 
lunghe ore notturne passate leggendo ri- 
viste di informatica* hanno partorito pro- 
grammi che, pur “girando'* non sono cer- 
to dei campioni di efficienza o di velocita. 

Il problema che sì erano posti* è infatti 
uno dei problemi piu importanti nell' uso 
dei calcolatori U/ortbnaieur in france- 
se-.)- Ber questo motivo si e creata tutta 
una "scienza'* ad opera di eminenti infor- 
matici, per cercare di ottimizzare e svelti- 
re tutte le operazioni da svolgere su una 
grande massa di dati quali 1 m ricerca, la 

aggiunta* la cancellazione e l ‘ordinamen- 
to di dati. L na di queste teorie che mi 
accingo ad illustrare, corredata da pro- 
gramma* e quella che prende il nome di 
ALBERI BINAR? DI RICERCA, 

Desta teoria, affascinante un po’ 
ostica* solitamente si affronta studiando 
seriamente il Basca! poiché gli alberi si 
'sposano' parti colar meni e bene con un 
Lignaggio strutturato quale il Pascal è, 

N iklaus VViiih ii ‘"papa" del Pascal, (e 
non solo luì) ha dedicato a questo tipo di 
strutture* parte rilevante dei suo libro 


" AJgurilhms + data structiires = 
program*'*. 

\1a cosa diavoli» sono questi alberi, co- 
sa c'entra In botanica nei mondo 
deir informai ita? 

omc lo stesso H irth li definisce, essi 
sono: una struttura dati che e naturai- 
mente definita "recti rsi esiliente* ed ela- 
borala con algoritmi “ retti rsiv i\ I n albe- 
ro e costituito da un insieme finito di hfwli 
ed e vuoto o costituilpda un nodo i radice) 
con un numero fui ito di alberi disgiunti* 
chiamati '“sottoalberi'V Nessuno hu la 
pretesa (neanche lo stessi» Wirth? che 
questa definizione possa chiarire le idee 
in merito. 

un volendo certo far ora un tramato 
sulla materia* (per un approfondimento 
dell' argomento vedi testo dialo), Limiterò 
la mia esposizione ai solo caso particolare 
degli ALBERI BINARI* tali alberi sono 
una semplificazione rispello y quelli GE- 
NERAI! |»>Ìchc da ogni nodo nm dipar- 
tornii nodi* ma solo e sempre 2 (Ttg. Dea) 
e ih). Quella parola strana che troviamo 
nella definizione, Teeursivo'., 'recuniiij' 
mente** ere* e sicuramente sconosciuta a 
tutti coloro che non hanno mai lavorato 
su altri linguaggi se non il Basic. Linguag- 
gi 'strutturati' come il Pascal i rifai li per- 
mettono rimplementazione di quella tec- 
nica potentissima* seppur di non imme- 
diata comprensimie, che è La RICORSICI- 
NE. 

Il Basic 1 fruii permeile lido altro che 
rirnpfemeiiLiZJorttr di procedure * itera Ri- 
ve')* si e precluso per sempre fuso degii 
alberi binari? Per fortumi no* e il pro- 


gramma che presento* infatti, ne e La pro- 
va. 

«diamo di chiarire ora un alt ro punto 
importa miss! ino; a cosi servono gii albe- 
ri. o pio precisamente i 'scardi binar? 
iree*' i alberi binari di ricerca)* Questi 

alberi espletano mite la loro potenza nella 
memorizza/ ione e ndr aggiorna mento di 
una grande massa di dati dello stesso tipo. 
T idi dati possono essere singoli (esempio: 
un numero? o composti (esempio: record 
persona = cognome* nome, età* sesso). 
Per fare un esempio concreto di oli tizzo, 
|Mmsiamn di immettere nel nostro calcola- 
[ore I Vigneti degli abbonati al telefono. .Sé 
non usiamo gli alberi, siamo costretti ad 
usare un arrav tu (ìlei sequenziale rie! 
quale aggiungere lin coda) o togliere ctc- 
meniL I problemi pere sorgono a! mo- 
n vento dell 1 ordinamenti» per ordine alfa- 
betico* nella ricerca di un dato numero 
etc, 

on gii albi ri tutti questi problemi so- 
no risolti nel migliore dei modi: grazie 
alla sua struttura 'biduneiLsitinaJe' leori- 
camente infinita ìalle “foglie' inferiori 
possono sempre essere aggiunti altri 'no* 
di h ], al momento dell'immissione* il nuo- 
vo dato viene automaticamente posta in 
ordine alfabetica e* durante la ricerca* 
nei peggiore {lei casi* il dato valuto è (ro- 
vaio in LOG2 in) tentativo. Esempio: 
avendo dati memorizzali, il dato 

voluto sara trovato al massimo in Ih 
tentativi! 

è ora da far una importante preti- 
sazio riti nel caso di dati complessi, come 
può essere il caso della agenda telefonica* 


Computer Club ■ 35 


OBt 







36 Computer Club 



il dato siesta i j diviso tu vari “campi" 
(cognome* mime. etcì* unti solo dei quali 
però costituirà Ih chiave" con Ut gimlf si 
s volger armo i un v le operazioni. He nelTc- 
sem pio precedente b chiave è il campo 
'cognome** allora lutti i dati saranno po- 
sti secondo Por dine alfabetico dei cogno- 
mi, si potrà ricercare un certo cognome 
oppure cancellarlo e cosi via. A quel dato 
cognome però saranno legati indissolubiL 
mente gli altri dati a lui relativi quali il 
nome, l'età, eie, sebbene su questi non 
venga svolta nessuna operazione inerente 
all'albero. 

D alla teoria scendiamo piu nella prati- 
ca e tediamo di analizzare quelle idee che 
hanno permesso la realizzazione del 
programma. 

Il programma 

stanziali tra il Pascal ed il Basic a causa 
delle quali saremo astretti a porre delle 
semplificazioni strutturati, (Purtroppo 
tutte queste differenze sono a svantaggio 
del Basic). In Basic e impossibile una allo- 
cuzione dinamica’ di dati in memoria, 
nun sì e in grotto cioè di riservare uno 
spazio nella memoria centrale per un cer- 
to dato [sìngolo o composto che sia} e 
rimandarne l'indirizzo dì locazione ihesi 
in una variabile. Per sopperire a questa 
'deficienza' siamo cimiteli i ad utilizzare 
un arrav per memorizzare i nostri dati, 
imponendo purtroppo a priori una limi- 
tazione alla struttura teorica dell'albero: 
si deve definire a priori il numero massi- 
mo di dementi che essi può contenere* 
provocando cosi un grande spreco di mt- 
moria per tutto il tempo che ci saranno 
pochi dati, e impedendo assolutamente 
l'ingresso delTennesimo +1 dato. Tale 
numero massimo sarà contenuto nella va- 
riabile M AX^r: cambiandolo si potrà cosi 
‘personalizzare’ a piacimento il 
programma. 

lira deficienza del Basic, sia detto 
per inciso , è quella di non poter 'passare L 
parametri 1 alle subrotitinr per ‘ refe reo- 





f i i.u ip- d ;■ 


diiivt Uithlrn pnni.<l«lrn 


A* 

(0) 

- PAOLO 

F'T \ 

(0 4 M) = 

1 

P 1 % 

<u, 

1 > 

— 


Ai- 

{ 1 ì 

= rifui ] ANn 

Pi a 

t l * 0 1 = 

- 1 

F t % 

U , 

1 ) 

«= 

3 

Ai 

(2> 

- R OSANNA 

F IX 

( I , U ) -■ 

- 1 

FI X 

(2* 

1 ) 


-t 

M 

«70 

- lui é'i 

FT7. 

(7*0) * 

- 1 

f' 7 X 

<3, 

i y 

= 

-1 


tabella f 

Lui allocuzioni: uo Tiri 1 eh iti ve c p^u-niiiTc ni ni Un ffu-ininria *ki 1 1*7 Lv>l:i ime 


za 1 , il che comporta artifici non indiffe- 
renti ed una certa perdita di tempo e di 
chiarezza. Se quindi A$T e un array che 
contiene i dati da memorizzare sappiamo 
che deve essere ‘lungo' MAX% ma non 
abbiamo ancora detto niente sulle sue di- 
mensioni. Esse infatti dipendono diretta- 
mente dalla natura dei dati da mfimirii* 
zare. Se i dati sono sìngoli e di natura 
numerica* Tarray risulterà definito DIM 
A (MAX%). Se invece i dati saranno alfa- 
numerici e magari cimipOfcLi («empio: co- 
gnome, nome* indirizzo* n.ro telefono), 
allora bisognerà dimensionare il vettore 
diversamente; DIM A$ (MAX%*3K 

M a allora è sempre la stessa storia!? 
Non!!! Di contorno a questo arrav infatti 
ne esistono altri ed uno in partkotare che 


fa si che si possa parlare di ALBERI: è 
rimy PT% (MAX%.,U. Questo* la cui 
natura è rivelala dal segno contiene i 
'puntatori' destri e sinistri di <*gni nodo* 
Mamma mia* qui si entra nel diffìcile! 
t ome si e potuto vedere in figura I* ogni 

elemento e legato al nodo ‘padre’ t riunite 
delle linee chiamate ‘link 1 : esse .sono in 

realtà de Ile 1 informazioni' residenti nel 
nodo padre e contenenti l'indirizzo (Tin- 

dkr dell 'arra} 1 A) nel quale il nodo figlio e 
prtsenl*. Risiti la cosi evidente che r ac- 
cesso ad ugni nudo può avvenire solamen- 
te attraverso un cammino ‘discendente 1 * 
partendo dal primo nodo e seguendo di 
volta in volta il cammino a destra o a 
sinistra (secondo le necessitai indicato dai 
'puntatori*. 


Computer Cfub - 37 


QRf 



di' esempio in figura 2* il primo nodo 
contenente il dato ‘PÀOLO' e allocato in 
\$(0j, sa che albi sua ‘sinistro' c’è il dato 
contenuto in \% il cui indice e contenuto 
nel suo ‘puntatore ministro’ PT’iHO,®} = 

1 * cioè AS( i ) = GUI JAN A. Lo stesso per 
latita destra PT%tO*l) — 2, A$i2] = RO- 
SANNA eie. Se un nodo non ha discen- 
denza destra o sinistra, i suoi relativi pun- 
tatori dovranno assumere un valore par- 
ticolare detto NHL, Nel programma que- 
sto valore è staio scelto -1 poiché indire 
‘impossibile’ dì u narrai- Il problema ora 
e però capire come aggiornare automati- 
camente questi puntatori durante i 'im- 
missione di nuovi dati, e con che criteri. 

L^immissione dei dati 
e ['aggiornamento dei puntatori 

\ z j mutine INGRESSO è stata realiz- 
zata rendendo itera tt iva ia corrisponden- 
te e ‘celeberrima 1 procedura ricorsiva 
suggerita da N A\ irth, Innanzitutto dicia- 
mo qual e il criterio che permette la co- 
si ru zinne dd nostro albero. Al momento 
dell'ingresso ìl nodo deve esse re posto alla 
sinistra di un m>dii con dato ‘maggiore' 
Ine! caso alfanumerico si intende l’ordine 
alfabetico} e alta destra di uno con dato 
‘minore’ gin presente. N.R. Dado risulta 
evidente che non r possibile inserire due 
dati uguali, [.'indirizzo dei primo nodo e 
contenuto in una variabile RT 1 ^. 

C 

up poniamo nel caso di figura 2 di do- 
ver inserire un nuovo dato contenerne il 
nome FEDERICA posto in una variabile 
temporanea XS* Prima dell'inserimento, 
la situazione dei dati in memoria, è visibi- 
le in Laliella L Sia P v k un puntatore varia- 
bile che permette di ‘scendere' attraverso 
l’albero. Tale puntatori' viene iniziali zza- 
to ( riga 70p a puntare al primo nodo \ radi- 
ce) dell'albero, PAOLO in questo caso. 
Sul nodo puntato viene svolto il confronto 
determinante ( righe 220-230): si decide, 
tramite gli operatori relazionali < e > 
(anche tra siringhe per fortuna! ), se X$ 
deve essere posto alla destra o alla sinistra 
del nodo puntato da ra. Poiché in querfo 
caso XI < AKP**) (FEDERICA < PAO- 
LO), allora !*"> diventa uguale al punta- 
38 - Computer Club 


tore sinistro dei nodo puntato = 

PT^{ra,0j | e il procedimento si ripete; 
si dice che P% è * ‘sceso a sinistra”, P% 
ora punta a GIULIANA e siccome FEDE- 
RILA e ancora ‘minore’* ra viene di 
nuovo aggiornato. I osi facendo pero, 
viene ad assumere il valore Ni IL- [I proce- 
dimento di ‘discesa' ha cosi termine ' figa 
200): si è cioè constatato che il ciato KE* 
H ERICA non esisteva già, e se ne e trova- 
to il (Misto ove locarlo. 

c 

LJ dilanio ora il dato è inserito i riga 250) 
iHfH’array AS nella prima casella vuotai 
l tratterò in seguito iJ criterio con il quale 
tale casella è trovata), il cui indice deve 
essere memorizzato nd relativo nodo 
padre (Gli LIANA in questo oso), Solo 
(piando il dato è memorizzato io A, ed ì 
[Miniatori sono aggiornati, rii potrà parla- 
re dì " inserimento del dato nell' albero”. 
Siccome, come ho già detto, il percorso in 

un albera può solo essere ‘discendente’, 
Pind iri/zo del nodo padre, perso inevita- 
bilmente dà P%, è tenuto da no altro 
puntatore, ausiliario NX*r che e sfalsato 
di un mulo rispetto a ra, Per sapere poi 
se tale nodo padre era < o > di XS (anche 
tale informazione era stata persa ), ri pen- 
sa un flag' apposito: ST%, Ad ogni ‘chia- 
mata", questa procedura immette il dato 
nell'albero» aggiornandolo 

or rei sottolineare che e questo uno 
dei fattori piu importanti della teoria de- 
gl* alberi: il calcolatore mette in ordine il 
dato al momento della digitazione ed 0 
tempo per far rio risulta irrisorio rispetto 
a quello impiegato dà una persona a bat- 
tere sui tasti. Ouesu* perdita di tempo e 
quindi praticameli te incsktenle» mentre 
al momento della estrazione in ordine dei 
dati, si assiste a dei prodigi di velocita. 
Problema in un certo senso sìmile dal 
punto di vista algoritmico, seppur netta- 
mente più semplice, è quello della ricerca 
di un certo dato in memoria. 

La ricerca 

di un dato nell'albero 

s,„. P „ 

contenente questa volta la ‘chiave 1 del 


dato da ricercare. Riferendoci al nostro 
albero appena aggiornalo dì fig, 2* sia da 
trovare la ‘chiave' LUIGI Dopo aver co- 
me al solito in iziiili zzato ra 3 puntare 
alla radice, vengono di Fiutivi effettuati ì 
confronti relazionali! (righe 3JML3401 simi- 
li a quelli svolti nella procedura INGRES- 
SO. In base a questi, ra scende lungo 
J ‘albero dimezzando ogni volta U numero 
di posti ove cercare il dato I . . ricerca hina- 
ria,.)» viene COSI spiegata, J "e norme velo- 
cità di ricerca ed il nome stesso di questi 
tipi di alberi. Scendendo cosi, con lo stes- 
so criterio con il quale il dato era stato 
immesso in memoria* si giungerà per for- 
zo con il trovarlo se esiste: se si ricerca un 
dato non presente, la ‘discesa’ di ra ver- 
rà bloccata da un inequivocabile valore 
ML. In questo coso l'inesistenza della 
chiave cercata viene comunicata (riga 
320). 

IV 

1 ^ ri caso invite che II dato sia stato 
trovalo, esso apparirà sullo schermo* 
preveduto la puro titolo informativo f dal 
numera della casella da lui occupata nel- 
l'arraj À$. e seguito da due numeri, ri* 
spetti vi amente i puntatori sinistro e 
destro. 

Riferendoci itJJ' esempio: 

- LI IGl < PAOLO quindi scendi a 
sinistra 

- lAlGl > (ili LIANA quindi scendi a 
destra 

- LUCI = LUIGI quindi stampa: 

3 LUIGI -I 

( ” 

onrinuando con le procedure IN- 
GRESSO e CERI A, il nostra albero può 
cosi essere creato e ‘visitato’; altra routi- 
ne però sono necessarie per completare 
quésta teoria. Lna di esse è quella [ramile 
la quale si possono estrarre tutti i nodi in 
ordine, 

Estrazione in ordine 
delle chiavi 

V 

up poniamo di aver ampliato il nostro 
albero con l'aggiunta di altre chiavi. Sta 
l’albero risultante quello in figura 3. Poh- 



siamo a prima vista veder che l'ordine 
alfabetico di quei mimi è; 

FEDERICA - GIULIANA - LUIGI * 
PAOLO - RENZA - ROSANNA 

e risa re un metodo iterattivo (ricorsi- 
v Amen te è facilissimo t che possa fare il 
cammino per estrarre in ordine tulle le 
chiavi te tutti i dati y lei iemali) è stata La 
cosa piu difficile che ho dentilo risolvere. 
Per poter meglio spiegare il procedimen- 
to adottato, si veda il fico* -eh ari di figura 
4. Ho dovuto ricorrere purtroppo a due 
trray d 'appoggio. o meglio di un arrav 
bidimensionale PR*MMAX% t l|. Lo sco- 
po di questo array e dì tenere per oeiiì 
nodo un 1 flag + di bloccaggio e l'ordine con 
il quale i nodi sono visitati. Questo array 
contenente i fiag deve essere mmalizzato 
a contenere tutti 0. Tate mmalizzamne e 
sv olia dalle righe 55lì-5ftfl. 

ornando alla procedura, leggendo il 
flou -diari e .sapendo che Liti' inizio tutti i 
nodi non sono 'bloccali', vediamo che F*v 
scende al mido piu in basso a sinistra, cioè 
a quel nodo che contiene il dato ^minore' 
di tutti gii ailri secondo il principio di 
inserimento. Raggiuntolo, e non avendo 
questi M>ltu«Jberi a sinistra, tl calcolatore 
deve eseguire POPE RAZIONE che si 
vuote fare su ugni nodo visitato, nel no- 
stro caso la stampa del dato stesso mga 
590). 

S i guarda poi se il nodo ha sortoaJ beri a 
destra. In caso affermativo si 'scende' a 
destra, all rimenti, si ''rìsale" al nodo 
precedente tramite l'uso dclLarray FR*£ 
(riga 620]!. Se questo nodo precedente ha 
il flag di bloccaggio settati! o non ha sol- 
tualheri ■ vinsi tra (se non può andare a 
sinistra in parole povere], allora sì risate 
ancora al precedente frtga 630). NJL 
Precedente qui è inteso non neirnrdine 
numerico o alfanumerico delle chiavi, ma 
relativamente ali'ordìne con LI quale i mi- 
di vengono visitati durante Tesecuzionc 
della procedura, 

Durame questo processo di 'risalita' 
appena viene incontrato un nodo non 



Compu 'ef Qui) - 3$ 


JaO 




bloccato, esso viene bloccalo (riga 640) ed 
il procedimento riprende. Lo STOP di 
questa procedura e dato dal fatto di ter- 
minare i nodi ‘‘precedenti ' ; il contatore di 
precedenza, CP%« diventa cioè d (riga 
610), 

F* aceri do riferimento alla figli ra 3 ve- 
diamo in ‘trasparenza* cosa succede. Vie- 
ne preso in esame PAOLO, avendo di- 
scendenza sinistra, ri scende a GIULIA- 
NA e poi per lo stesso motivo a FEDERI- 
CA. Non avendo questo nodo sottoalberi 
sinistri, esso viene stampalo. FEDERICA 
non ha sotloalberi destri, per cui ri risale 
al precedente (GIULIANA). Quest'ulti- 
mo non avendo la via a sinistra bloccata, 
gli viene bloccata. Si riconsidera quindi lo 
stesso nodo che avendo ora la via sinistra 
bloccata, viene stampato. Contrariamen- 
te al precedente, questo nodo ha discen- 
denza a destra, dove si scenderà. Verrà 

quindi stampato LUIGE poiché privo di 
sottoalbero sinistro; essendo però questi 

anche privo di quello destro, sì rh&Je a 
GIULIANA e, siccome questo ha la via 
sinistra bloccata, si risale ancora a PAO- 
LO e gli ri blocca la via a sinistra. Per 
questa ragione alla successiva passata 
PAOLO verrà stampato e si prenderà in 
considerazione il suo nodo a destra (RO- 
SANNA) e successivamente quello a sini- 
stra l RENZA) che verrà stampato. Si ri- 
salirà quindi a ROSANNA e se gliene 
bloccherà la via sinistro cosa che ne pro- 
vocherà la stampa alla successiva passa- 
ta. À questo punto si risalita a PAOLO 
ma avendo questi la vìa a sinistra blocca- 
ta, sì tenterà di risalire ancora, ma ‘so- 
pra’ non esiste niente, per cui 0 processo 
ha termine. Uff, in fine!! C*è da perdersi 
ìn mezzo a queste arhonescenze 
computerizzate. 

-Facezie a parte LI programma ha 
estratto in ordine alfabetico tutti 1 nodi 
immessi nell’àlbero c.v.d, A puro titolo 
in forma rivo dirò che questo tipo di ‘vés- 
ta" ad un albero binario, viene chiamata 
di ripa INORDER (SINISTRA - 
RADICE- DESTRA), clw ri contrappone 
ad altri 2 tipi di virila detti rispettivamen- 
te PREORDER (RADICE - SINISTRA - 


DESTRA), c POSTORDER (SINISTRA 
- DESTRA RADICE). 

La cancellazione 
di nodi dell'albero 

odiamo ora all 'ottima delle routine 
che costituiscono il package presentato 
sulla teoria degli alberi. E” questa chiara- 
mente la procedura di cancellazione dei 
nodi. A prescindere dal linguaggio in cui 
si opera, questo problema risulta essere 11 
piu pepato. Per rendere l'idea ri pensi 
alTalbero di fìg- 3 e pensate di dover 
togliere il dato PAOLO; come pensate 


che risulti FaJbero dopo tale ‘potatura’? 
Tenete presente che l'ordine intrinseco 
non deve venir mutato. Per fortuna anche 
questo problema lo ha risolto il sjg. Wirth 
una volta per tutte. 

ominciamo con Fanatizzare la casi- 
stica: 

- si deve cancellare una foglia; 

- si deve cancellare un nodo con un solo 
sottrai riero; 

- si deve cancellare un nodo con due 
sot Ioalbe ri . 

]^J d primo caso la soluzione e banale: ri 
recìde il link nel nodo padre (righe 4 SO- 



i 



FIGURA 6 

L. jlhtro tìupu 1* Cjn«l3a/ion* 


40 - Computer Club 



4étì| ed essendo mw il dato irreperibile, 
risulterà cancellalo (fig. 5-a}* Esempio; 
per can celia re FEDERICI basta porre ìì 
punì alm e sinistro dì (IIUIMNA uguale 
a NTL, 

J^Lnche nel secondo caso le cose non 
Mino troppo difficili poiché basta aggior- 
nare il puntatore del "padre 1 perche punti 
al proprio Tiglio’ \ nuovamente righe 4$lb 
4A0i. Esempio: si debba cancellare RO- 
SANNA. allora basterà porre il puntato- 
re destro di PAOLO uguale al puntatore 
sinistro di ROSANNA e cosi risulterà che 
PAOLO avra come figlio destro RFN7 A 
Ifig. 5-t>), Anche in questo caso il nodo 
ROSANNA non scomparirà effettiva- 
mente dalla memoria centrale, ma risul- 
terà irreperibile nell ambito dell 1 al beco. 

omo già accennalo, ì problemi insor- 
gono nei lerm caso, quando cioè il nodo 
da lunediare ha doppia prole’.- stì fi- 
gli!! I tini» n/i tulio bisogna, cttme anche 
nei casi precedenti, trovare il nodo d» 
cancellare brighe 390-400b Entrano in 
g«KO a questo punto altri due puntatori* 
ausiliari Q** a Q l r £* L a situatone e dun- 
que questa: P^t punta al nodo da cancel- 
lare, mentre (^6 e Ql% vengono latti 
'scendere' sfalsati di uno, (riga 480s al 
nodo piu a destra nel sottoalbero di sini- 
stra di quello da cancellare, A \ VI if IH!! 
che C OMA! I n attimo di pausa, andate a 
prendere un caffè e poi continuiamo stoi- 
camente. Per fissare le idee supponiamo 
di dover cancellare PAOLO. A lui punta 
P%. poi facciamo scendere Q*£ e Ql*>L in 
modo che il primo vada a puntare a Li T- 
GI e l’alt GIULIANA LUIGI è infatti 
il nodo più a destra del sottoalhero sini- 
stro partendo ila PAOLO. Chiaro ora? 

ere he, comunque, tutto queste com- 
plicazioni? .Semplice* il nodo cosi trovato 
e quello che immediatamente precede il 
dato da cancellare nell'ordine {numerici! 
o alfabetico) con il quale i dati sono stati 
immessi. Si svolge a questo punto il tra- 
sferimento del dato contenuto nel nodo 
puntalo da QSf a quello puntato da P*v 
(riga 490) Iflg. 5-c). Il vecchio nodo che 
conteneva LUIGI, rientrando in uno dei 


casi precedenti, può essere facilmente 
cancellato* Dopo questa "potatura’, il no- 
>rtm albero sarà quello che compare in 
figura 6. Resta a questo punto un'ultimo 
argomento dii affrontare che riguarda 
strettamente quesiti programma: Lutili/’ 
zo della memorili. 

1/ utilizzazione delia memoria 

urne ho già spiegalo siamo siati co- 
stretti ad utilizzare un ir ridi mension abile 
arra) per contenere i nastri dati, il che e 
una non lieve minaccia alla flessihilita 
dell 1 algoritmo. -Se aggi ungiamo poi come 
funziona la roiitiiie di canee barione, ve- 
diamo che nel giro di poco tempo si arri- 
i crebbi- al completamento dello spazio 
disponìbile, avendo, ai limile piK L hi dati 
immessi* 

H o quindi voluto aggiungere un pìcco- 
lo ‘trucco’ che mi permetti» ili utilizzare 
anche quei nodi che, pur non cancellati 
fisicamente, sono stati recisi dall'albero 
Ciò che ho falbi è, se vogliamo, l'uovo di 
coloni Imi, polche tengo conto in lina hsiu, 
LS^fMAK^J, dei midi cancellali i righe 
§10-530). Grazie ad un coniatore di nodi 
presenti in quest» iìvta. ai moifwn- 

tu deU immissione di un nuovo dato, pos- 
so sapere se esiste dello spazio riutilizza- 
bile; In tal caso CT r fr, che mi dice dose 
memorizzare i* nuovo dato, vara caricato 
cimi questo indirizzo di memoria disponi- 
bile. In caso contrario, quando cioè non e 
ancora stato cancellato nessun nodo, 
CT^r viene caricalo con un valore, pre- 
sente in C%, che fornisce semplicemente 
L indirizzo della '‘successiva" casella di- 
sponibile deirarray A (riga )* Vedia- 
mo ora la parte piu pratica e quindi piu 
interessante: come - personalizzarti li 
programma. 

La personali zza/ io ne 
del programma 

ome avrete potuto constatare* ciò 
che fa il programma che presento e di una 
stupidita agghiaccia file. Mio unico scopo 


era infatti di presentare le routine* ^ge- 
nerali" per il trattamento degli alberi bi- 
nari in Basic. L ’un portante, ora che si e 
capito il "nocciolo” della questione, e dì 
poter utilizzare secondo le proprie neces- 
sita questi algoritmi, bui ami Multo biso- 
gna stabilire quanti dementi al massimo 
si vogliono memorizzare, c caricare tale 
cifra in MA alla riga 20, Avendo beo 
chiaro che tipi eli dati memorizzare, ade- 
guate il dimensiona mento dèll'uiray AS, 
F" chiaro che cambiando la dichiarazione 
dì \% bisogna adeguare in lutto il resto del 
programma le diciture che interessano 
tale variabile. 

Prima di richiamare Ciascuna delle 
routine, fare eseguire le istruzioni caute- 
li ute alla riga 70. Nella routine INGRES- 
SO, alla riga 250, immettere tutti i dati 
relativi ai campi costituenti il nodo A Ud- 
ire a X utilizzare altre variabili di appog- 
gio], e mantenere le due ultime istruzioni 
presemi. Esempli», 

250 A$(CT%,0j - \5 : ASfl’TOJI 
\1$: < et v >: 

PTW’T^.Oi = WJ& : PTMCTJi 
N1L% 

N[ulla routine CERCA, far eseguire 
l'operazione voluta sul nodo cercato, alla 
riga 3511. Nella routine INORI >LK, far 
eseguire l'operazione voluta sui midi 
estratti, alla riga 590, Nella procedura 
ca ned lozione, trasferire mite le ìnfarma- 
zìo ni contenute od nodo puntato da Q^f a 
quell» puntato da I* f , alla riga 4W. 
Esemplo: 

491) AStP^.Ui \S(QG%0l : A$iPG. 1 1 
Ali Q r E* I) : ~ < ctv 

questo punto v tiene ribadire un 
concetto, per altro giu accennato: nel caso 
di dati composti da piu -campi» (esem- 
pio: cognome, nome, indirizzo, età), l'or- 
dinamento, la ricerca eie,, può essere fat- 
ui volo relativa meni e ad LN SO! 1 O LAM- 
PO. Nel cavo precedente per esempio, 
posso scegliere di creare l'albero ordinato 
per cognome. Il campo-chiave può essere 
qualsiasi* ma generalmente si usa il prL 
mo. Avendo il pnignumna utilizzato un 
solo campo che è per forza anche campo 
chiave, ogni qual volta che nel listato si 

Computar Ciub - 4 t 



incontra Jj vario bile quello t il posto 

per utilizzare il vostro campo chiave, Per 
intenderci, se in un'HtruDonc trovate 
A$Cf*3fe) e avete p*u campi di cui i( primo 
"chiave 1 ', dovrete sostituire h dicitura iti 
A$<Pft,Oj. I e righe 60-1411* sono quello 
che in gergo é chiamalo il "main pro 
gram'L che contiene rioe tolte k 1 «chia- 
mate* alle varie procedure. F' logico che 


questo deve essere fatto mi misura per i 
vostri scopi; non ha come si pnn unta- 
re, nessuna influenza sulle mutine* pre- 
seli Ulte, 

Siamo infine giunti alla firn- di questa 
faticaccia ed è buffo notare che per -spic- 
care idi allveri od un calcolatore onero 
ammasso di circuitene elettro- 


meccaniche! hastano poche dev ine rii suc- 
cinte in E m rioni, mentre per eli uomini 
1 iniettivi enmsimo padrone e dominatore 
del Mondo t sono occorse parecchie pagi- 
ne e ore di duro lavoro. Meditata gerite, 
meditate* 

Paolo t a priori in 

K i irsi' Frarccì ZE4 
[n ]4ri Torniti - fcl 


Lso del programma 


comando T viene chiesta la chiave e il visitalo e tutti i dati v>m> est ratti in ordine i 




dato viene inserito nell ’ albero, Vengono ulfaitcficn* 


Riporto qui il listalo di un esempio di 

■juiiidi immilli fi dati in un ordine del Digitando poi R si pu«. 

ricercare non 

ni ili/ nazione del 

programma. Tramite il 

tutto casuale. Tramite ‘ ’S r albero viene data chiave. 


C CIMAMI} — 

1 1 




D 1 MM 1 UN 

NOME 

RADI 0 

CPMfiND — > **D 


COMAND — ? 

‘ HM 


Li 1 MM 1 [ A LU l ) A Ut Gl UL ] AMA 


D ! M1 1 ] UN 

NC'Mt 

DILIL IANA 

COMAND — .■ **R 


COMAND — 

* % ] 


rM I AVE GIULIANA 


DIMM] ur i 

NUME 

FLLiLRTEA 

CHI AVE INE SI STENTE 


COMAND — - 

( 

* * 1 


CW1ANH- - • Mi 


DI firn UN 

NOME 

ROSAI IMA 

DIMMI UN nume gii IL ì ama 


COmand -. 

i * ì 


COMAND — 


1j ] MM 1 Ufi 

NUME 

F-Mi; - 

OH l AVE G I UL. I AMA 


t omun- - 

* * I 


2 G J LH 1 AMA - J 

- 1 

DI Min Uf J 

Mi <1 IL 

1 L 1 1 ti J 

Li Hi AND- - ^ M S 


I l II t( tlli> - . 
1 L CULT- ) r.iì 

* * 0 


F E DE.. R I E A 

G I UL ] AMA 


G1U1 1 AMA 



l nj gì 


LUI 6 l 



PAOLO 


I TU il.U 



RI NZA 


UH NZA 



ROSANNA 


F-'U! ‘ì jNNA 



COMAND — > t* + I 


L DM AND — y 

1 1 R 


DIMMI UN NOME GIULIANA 


C.'HI AVE 61 LILIANA 

IL NODO ESISTE Gì AD 


1 GIULIANA 

e-\ 

A. 

5 COMAND- — > ** . 

1 


42 - Computer Ctub 



1 REM ALBERI BINARI 

S REM PER TUTTI [ COMMODORE CON ALMENO 3£K DI MEMORIA 

3 REM DI CAPRI OBLIO PAOLO 

4 REM CORSO FRANCIA 22 4 

5 REM 10146 TORINO T. 0 11/792023 

7 REM REVISIONE Di MARIANI GIANCARLO 
3 REM TEL * 0362/72565 

9 PDKE33280 , ì SPGKE5328I , 1 iR£M SOLO PER C64 

10 PR INT rt 3” 1GPEN1 r 0 

15 REM *#+ IMITI AL I Z E *** 

20 MAXX= 1 00 ! NI LX = * 1 : FX = * 1 
30 RTX=NlLX: CX=0^ LCX=FX 

50 DINAS* MhXX> ,L5/.( fiftXX) ,PT>X MAXX, I ) ,PRX< MA XX, I ) 

5 1 * 

60 PR INT^ftJ" 

70 px-rtx:stx*=fx 

60 PRINT^IPOMAMD-- > : IMPUTAI , X$ s PR I NT s REM MARIANI G - 

85 PRT NT " jy □" S REM 19 SPA/ I 

90 IFX* = + J T HEMGOSUB 1 50 : GOTO 70 

100 IFX*= "**R M THE NGO SUB 3 00 :GOTG70 

ì IO IFXS- "**p IP THENGOSUB3G0 :GOTO70 

120 IFXM* "**S * TH£MfiOSUB540 ; GOTO 70 

130 tFX**"**. “THElsCiLOSEl T END 

140 P R I NT " ERRORE NEL CDMANDOST : GOTO70 

14 1 : 

) 4 £ ! 

150 REM ++# IMMISSIONE *** 

151 : 

use ifcx>mahxandlcx=fxthenprint w w^emory FULLM* IRETURN 
170 PR 1 NT M D I MM I UN NQI€ “ J i I NPUTft ì , s PR INT 
180 IPLCX>FXTNENCTX*LSX< LC%> i GOTO200 
130 CTX*CX 

200 I FF%-N1LXTHEN250 
210 NXX-PX: STX=F% 

220 IPX^R^ PX)THENSTX«0!PX*PT3« PX,0) SGDTQ200 
230 IFMS>A&< PX?THEN5T%*I : P/.-PTXC P%, 1 ) s GOTO200 
240 PR I NT " HI L NODO ESISTE G 1 A 1 " f RETURN 


Computer Club - 43 




£50 CT y t > = K$: PT^t CT>;,0) ~N1LX: PTXC CTX, 1 )“NIL X 

- £ SO I F R TX-N I LXTHE NR TX= C TX : 60 T0£ 8 0 
£^0 PTCCNKX,ST%)*CTX 
280 IFLCX>FXTH£NLCX=LCX+FX! RETURN 
£30 CX*DX+ 1 : RETURN 
£ 8 ! : 

£88 S 

300 REM *** CERCA * ** 

30 1 : 

310 PR ! NT +l CHI I A VE " ; ‘ IMPUTAI , X* SPRINT 

BEO IFPX*=NILXTHEI^R INT"SCH I AVE INCSIS TENTE “ : RETURN 
330 IFX*< A*C PX>THEf* 3 X=PTX< PX,0 3 s GOTO3E0 
340 iFX:S>ASC PX;>THENPX=FTX£ PX, 1 ? =GOTO3E0 

350 PP INT-MTPX; - "? A*C PX) ,PTXC PX„0>,PTX< PX, I ) : RETURN 

351 ; 

35E i 

363 REM *## CANCELLAZ IONE *** 

36 I : 

370 FRI NT* Dirgli LA CHIAVE * ; ; ] NRU Ttt I , Xf : PR I NT 
380 1 FPX = N I LXTHEInFR I NT * flC'H 1 AVE INVESTENTE 11 : RETURN 
330 ]FX*< A£C P>;JTHENSTX=0:HK>: = PX: PX=P TX< = G0TG380 

400 IFXS>A*C PX ) THENS TX = Jl : MXX*PX : PX»PTXC PX, I > JGOTO380 
4 10 1FSTX< >FXTHEN450 

420 OX = P X ! IFPTXC FX,0>=N1LXTHENPX=PTXC FX / 1 > : G0T05 J0 
430 IFPTXC PX, i >*NILXTHENPX*FT>X PX,0> =60X0510 
440 8OTO470 

450 IFPTXC PX,0> -NI LXTHE NP T X< NKX,STX) =P fX< PX, 1 > : QX=PX: GDT05 I 0 
460 IFPTXC FX f n*NILXTHENPTX< NXX , 5TX ) =PTX< PX , 0 > ' QX=PX i G0T05 ! 0 
478 QX-PTXC FX,0 > :Q IX=PX:5TX=0 

430 IFPT>X QX f \ X WILXTHENQ IX*QX : QX*PTX< QX, I ) i STX= 1 : GOTO480 
430 A*< PX)=AS< QX> 

500 P TXC Q 1 X , S TX ) = P TXC Q X , 0 ) 

510 REM -- DISPOSE STORAGE -- 
5£0 IFSTX=FXTHENRTX=PX 

530 LCX-LCX+I : LSX< LCX>^QX: RETURN 

53 1 : 

53S : 

540 REM *** I MORDER *** 

54 1 : 

550 FOR 1 *0TQMAXXJ PRXC I , 1 > =02NEXT 
560 CPX=FX 

530 IFPTXC PX, 0 X >NILXANOPRX< PX, 1 > =0THENGGSUB650 * GGTO5B0 
580 PRINTA*CPX> 

600 IFPTXC PX, 1 X >NILXTHENCPX=CPX+ 1 iRRXC CPX , 0 7 =PX * PX=PTX< PX, 1 ) : GOTO580 

610 I FCPX-FXTHENRE TURN 

820 PX=PRXCCFX,0>* CPX=CPX”I 

630 IFFRXC PX, 1 3 0 RP TXC PX , 0 > ”N I LXTHE M6 1 0 

640 PRXC PX# I > - 1 * GDTO5B0 

650 CPX=CPX+I 2 PRXC CPX/0 >=PXJ PX-PTXC PX,0 3 i RE TURN 
READY * 


44 - Computer Club 


Commodore 64 



Iper Monitor 
per Linguaggio Macchina 


Si ui numeri 5 e 6 dì Commodore Com- 

* 

puter Club (settembre e ottobre 1983) 
pubblicavamo un programma siimi latore 
dH Monitor Tìm, vale a dire un program- 
ma di utilità che, ispirandosi ai modelli 
PET Commodore, consentiva di Lavorare 
agevolmente in linguaggio macchina. Al 
termine delTartkolo che illustrava l'uso 
del programma invitavamo i Jet lori a far 
qualcosa di meglio c u farcelo pervenire. 
Dopo quasi un anno dalla pubblicazione 
abbiamo visto, sull'allegato dì una rivista 
di settore, un articolo che ci faceva ben 
sperare. Saremmo stali lieti di utilizzarlo 
e (perchè no? | di consigliarlo ai nastri 
stessi lettori, Ihirtnippo dopo un esame 
approfondito abbiamo constatato che 
non era altro che una copia più u meno 
confórme dei nostro programma, fatta 
eccezione di un paio di aggiunte che 
chiunque avrebbe potuto realizzare con 
un semplice comando di Append. 

D elusi per la modestia del lavoro esa- 
minato e decisi ormai a regalare ai nostri 
lettori un monitor potente per Lavorare in 
linguaggio macchina, ecco che presentia- 
mo un buon lavoro che, per chi lo cono- 
sce, simula in pure basic, il potentissimo 
programma dì utility denominato 
ZOOM, Pubblichiamo, ovviamente, solo 
il listato e U modo di utilizzare il program- 
ma, evitando lunghe, e, forse, noiose 
spiegazioni su come è strutturato, Si ten- 
ga presente che d'ora in poi, parlando in 
futuro dì linguaggio macchina, faremo 
riferimento all'Output del listato pubbli- 
cato, Per ragioni di tempo, e per La lun- 
ghezza stessa del programma, viene for- 
nita solo la versione per il Commodore 
64. E f ovvio che ( nonostante il program- 


ma sin stato severamente collaudato i sug- 
gerimenti e segnalazioni di eventuali ano- 
malie saranno graditissime, come pure 
versioni piu sofisticate di quella 
pubblicata, 

SI 

hJ e la rivista nominata vorrà, anche sta- 
volta, -ispirarsi - ai nastri listati, ne sare- 
mo bei issimi. Pero, diamine!, mctleceia 
tutta. Programmare non e difficile: Lo di- 
mostra la giovanissima età dell 'autore del 
listalo f 16 anni) che in soli due giorni di 
lavorìi ha realizzato ciò che vedete. 

I comandi dell* Iper Monitor 

• Primo comando: “M". Esempio: 


VI UHM 0900 

usuai izza la zona di memoria indicata 
in esadecimale. Come separatore Ira t 
due indirizzi si può usare il caratteri.- spa- 
zio oppure il segno meno (*)• Per fermare; 
tempo rancamente la vemalizzaziorie pre- 
mere il tasto Shifl fShift - Jock se per 
lungo tempo). Per fermarla definitiva- 
mente basta un fasto qualsiasi. 

• Secondo comando: à '‘". Esempio; 

f 633 À A9 00 8D(W<M6(I 

C orwnte di scrivere nella memoria i 
valori esadecìniali digitati. In questo caso 
a partire da 033 A inserirà l'uno dopo 
l'ultru A9, 00 ect. Dopo aver digitato co- 
me descritto è sufficiente premere il tasto 
Return per la conferma (come nei veri 
mònitor). Subito 0 programma scriverà 
L'indirizzo successivo e si predisporrà per 
un« seconda scrittura. Se non si desidera 


scrivere altre, battete un puntino Li e il 
tasto Return. 

* ferzo comando; **1**, Esempio. 


I 033À GJ4E 

usuali zza il contenuto della zona di 
memoria indicata espresso non come ci- 
fra em deci mah* ma come carattere 
ASCII. Se un particolare valore non e 
contemplato nel codice ASCII, viene vi- 
sualizzato, al suo posto, un puntino, At- 
tenzione, quindi, ad interpretare corret- 
tamente ciò che appare. In questi casi e 
meglio esaminare La stessa zona con il 
comando *'M'\ Per la separazione di in- 
dirizzi. rallentamento e interruzione vedi 
il comando M. 

• Quarto colmando; ‘ijS " (chi-oc cidi ina). 
Esempio; 

@ 033A CARATTERI ASCII 

onsenle di irasferir* in memoria, a 
partire dall'indirizzo esadecimaJe digita- 
lo, opportuna tinnente tradotti, L valori 
corrispondenti alle lettere C, À, R, ecce- 
tera. Si badi bene di digitare: chioccioli- 
na, spazio, l'indirizzo, uno spazio, l'apo- 
strofo ed In seguilo i caratteri desiderati. 
Anche in questi} caso alla fine dei c&rstte- 
ri digitati (ma a -16) battere return. Ver- 
ranno trascritti sok> i caratteri digitati 
effetti v amen le. Se ad esempio si digita: 

@ USA ‘PAROLA 

a partire da (133 A verranno trascritti, op- 
purtiuintamente tradotti, i sci caratteri 
che costituiscono la parola digitata; gli 
altri resteranno immutati. 

Dopo aver operato, U programma vi- 
sualizzerà l'indirizzo successivo all 'ulti - 


Computer Clvò - 45 


ofif 


mt» utilizzato e attenderà che si digitino 
altri caratteri. Per finire è necessario di- 
filare il carattere “f” rpi-greco). 

• (Quinto comando: 

V 

T isuali/za il contenuta dei vari regi- 
stri; 

Ac f&ccumuhtareh XR < registro \k VR 
I registm V), SP LStaek Poi n tur). 

• Sesto comando Esempio; 

> A V C0 EE À5 

C 

\s un sente rii mndìricare il contenuto 
dei registri. 

• Settimo comando: Esempio; 

F 033A 033 F 00 

R i produce in tutte le locazioni dì me- 
moria, a partire dai primo fino a) secondo 
indirizzo* il valore CIO. 

• Ottavo comando: “C’’< Esempio; 

C «33 A 03EF04OO 

on fronte i contenuti delle locazioni di 
memoria a partire da 033A fimi a (LIFT 
con j corrispondenti byte allocati a parti- 
re Ha MIO. Nel caso i due blocchi siano 
eguali non viene visualizzato nulla. Se in- 
vece vi soli» discordali /e appaiono i valori 
esa ricci mali degli indirizzi i n cui c stata 
risei mi rata la differenza. Per interrom- 
pere la visualizzazione premere un tasto 
guai siasi. 

4 Nono comando: * 4 T'\ Esempio: 

T 0334 033 B 033 A 

TT riferisce i contenuti delie locazioni, 
da 0334 fino ti 033B, a partire da 033 A. 
Attenzione a questo, come ad altri co- 
mandi. a non invadere Purea in cui lavora 
il programma stesso! 

• Decimo comando: **H’\ Esempio: 

K 0400 0800 SS 

R ice rea all'interno dell'area 0400- 
0000, il byte che contiene il valore esade- 


cimale 55 e ne visualizza Pi ndi ri zzo. Un 
tasto qualsiasi, come aJ solito, interrompe 
la ricerca, 

• l ridicevi non comando: “G". Esempio: 
G 033A 

r 

L a eseguire la routine in linguaggio 
macchina a partire da 03 3 A i equivale a 
SYS). Se questa routine termina con 60 
(KTSt viene restituito il cimi rollo al 
programma. 

4 Dodicesimo comando; Esempio: 
S56FE 

T radure il numero esadeclmale nel 
corrispondente decimale. Il numero deve 
essere sempre di quattro cifre; pertanto 
imi ri digitare A0. ma 00 All. 

4 T redicesimo comando; Esempio: 

r 12765 

Inverso di “S'\ il valore deve essere 
sempre di cinque cifre: non IME ma 
OOI60. 

4 Quattordicesimo coniando: "P" 

nttiva la stampante. Da questo mo- 
mento la visualizzazione verrà trasferita 
alla stampante e non piu al video. 

4 Quindicesimo comando: **G” 

D Lsattiva la stampante e abilita nuova- 
mente il video. 

3# Sedicesimo cimando: i- X” 

R est Unisce U coni rollo al Basic inter- 
rompendo il programma. 

• Die iassé! tesimi» dimando, l *L". 
Esempio: 

t NOME 4 08 

urica un programma da nastro <1)1 j o 
disco iOHj a partire dalla locazione in cui 


era al momento della registrazione. Se 
viene riscontrato un errore appare II mes- 
saggio ERRUR. 

4 Diciottesimo comando: “S ". Esemplo: 

5 * ROUTINE * m 033A 03FB 

Registra col nome ROl FINE su disco 
l OS 1 LI programma in linguaggio màcchi- 
na allocato da 033A fino a 03 KB. 

4 Diciannovesimo comando: “V*" 

critica fi programma registrato. 

4 Ventesimo comando: " 

c 

onsente di conoscere Pinti I rizzo Hi 
partenza di un prirgrumma registrato su 
nastro. 

4 Comandi per il disco. Sono tutti prece- 
duti dal carattere ”, 

\ iiuaiizza La directory del disto, 

^SO/NOMEXX 

Formatta il disco conferendogli il nome 
NOME e ridenti fi cali ire XX. 

^10 

Iniziali zza il disco, 

I fi altre parole i comandi per il disco si 
possono usare con la forma appena vista 
sostituendo agli apici C') Li barra l/l, t 
alle v irgole (J il punto ( . I , Il solo carattere 
di freccia a sinistra visualizza lo stato del 
disco. 

- *NOME. 

Consente di conoscere l'indirizzo di par* 
lenza del programma residente su disco 
chiamato NOME. 

4 I (timo comando; RI N 
Consente, se avete combinato qualche pa- 
sticcio* di far ripartire il programma, 


46 Computer Cfuù 



D opti aver digitato con pazienza il prò- 
grammi registratelo prima di utilizzarlo. 
In seguito iniziate a verificare La funzk> 
nulita det comandi utilizzando solo PEEK 
come tl M'\ u r\ “C 11 eccetera. D pro- 
gramma B&sk occupa circa 8 KRAM; la 
sua esatta occupazione la potete indivi- 
duare da soli. 

I per Monitor consente addirittura di al- 
te rare il vettore relativo alf intemipt da- 


— Avvertenze ■ — — 

to che. prima di trascrivere i dati digitati, 
esegue una routine in linguaggio macchi- 
na che maschera L’inlerrupt- Il program- 
ma utilizza inoltre tutti t byte da &80 a IH 
ed i byte 151 e 152. Attenzione n non 
alterarli nei vostri programmi. Il pro- 
gramma utilizza, in alcuni casi. LI buffer 
delia tastiera . 

un crediamo di aver dimenticalo nul- 
la salvo a fatto che. benché sia superfluo. 


vi consigliamo di non alterare LI contentilo 
riservato al programma Baste che è allo- 
cato da IWWO fino a». No. non vogliamo 
dirselo? scopritelo con l’l|»r Monitor in 
uno dei vostri viaggi nei meandri della 

memoria. 


Giancarlo Mariani (da un suggerimento 
Ut V de Simonel 


100 REM ***** 1 PER MONITOR PER COMMODORE 64 ***** 
110 REM ***** DI 6 I RINCARALO MARIANI ***** 

120 REM ***** VIALE BRIANZA 7 £ £0038 MEDA C MI 3 ***** 

130 REM ***** TEL. B3SE/7ES65 ***** 

131 J 
J3£ i 

1 40 POK.E33280 , t : PGKE5388 1 r 1 i BOTOES70 
14 t REM NON RENUMERARE LA LINEA 150 
!4£ REM PER NESSUN MOTIVO < CFR . LINEA £870 1 
150 PGKE 198,0 

160 PR I NT M J3 11 ‘ P0KE56 ,401 PPKESa , 40 ! CLR i OPEN 1 ,0 
170 PR I NT “MONITOR 64* 

130 PR I NT M B Y G, MARIANI TEL . 0358/7258511* 

190 L=- ì ! GOSUB1430 

200 C$3 " " i INPUTH 1 *0$: FRINII A3=3 

£ 10 [FC$* m RUN h THENRUN 

22B A$-LEFT$' C$, L ) JL-LEfK C$) -£ 

330 I Fftl? -F "THENGOSUB450 JGOTOE00 
£40 IFAS* " X “ THENCLDSE 1 • CLR s END 
250 IFR$= * THENGO5UB530 = GOTO£00 

£60 I F A$ ~ "# “ THENGOSUB580t GGTG£00 
£70 LFA$= , 'G-THENGOSUB640;GOTO£00 
£80 IFA$- “C H THENGOSU8680 S GOTOE00 
£30 I FA* - 11 M “ THENGOSUB8 £0 : GOTQ200 
300 I F A $ » M P M AND L ~ - 1 THENP= 1 : GOTGE00 

3 1© I F A $ = “ Q M ANOL s - 1 THENP'0 : GOTDS00 

320 t^A$s** 1 " THENGOSU© ì 000 * GOTOE00 

330 IFA$ = " T “THENGOSUB 1 £00 : GQTO200 
340 TFAS = fl t “THENGOSUB 1300 IGOT0£00 
350 IFAS^^R -THENGOSUB 1430 16OTOB00 
360 I F A $ = " > ,f THENGOSUB 1 430 * 6OTOE00 
370 IFA$= "£ “THENGOSUB 1550 :GQTO£00 
380 I F A#= “ * “THENGOSUB 1 690 i GGTOE00 
,330 IFA$= " «- " THENGOSUB 1770 i GOTOE00 
400 [FA$= *H K, THENGOSUB8£40:GOTO£00 

4 10 IFfìf - W L "0RflS= * V * THENGOSUBS390 * GOTOE00 
4SB IFA$= "S' r THENGQSUB£610;GOTD£00 


Computer Club 47 


3 «O 



430 IFC$< > " *' THENGQSUB2880 
440 GOTOE00 

430 REM ********** F (RIEMPIE) ********** 

480 I F L< > 1 2THENGQ5UB2880 : RETURN 

470 IFX$< > 11 M ANDX$< >"- 11 THENGO5UB2B80 J RETURN 

4©0 ES$ = *00* +R rGHT$< C$,2 > s GOSUB2950 i A3 =X : 1 F V c ì THENV =0 i R E TURN 

490 E5$=MI0$( Cf ,8,4) ? 6OSUB2350 !fìS*Ki !FV = I THE NV =0 : RETURN 

500 ES$^M JD$( C$ ,3,4 ) : G0SU62950T A 1 =X i IFV- 1 THEMV =©! RETURN 

5J0 IFA ì >A2THENGOSUB2880 JRETURN 

520 FQRK=FU TORE! POKEK ,A3 ^ NEXTs RETURN 

530 REM ********** ESAD/DEC ********** 

340 V-0SCS*RIGHTS( C$,4) 

530 IFLC >4THENGOSUB2880ì RETURN 

580 ES$-C*:GOSU82950s IFV = 1 THE NV=0 ? RETURN 

570 FRI NT “ K “ ; X i RETURN 

580 REM ********** DEC./E5AD ********** 

590 1FL< -0THENG0SUB2B80: RETURN 
G00 C$*RIGHT$< C$,L > 

810 X-VR L< C$) ? IFX >65535THENGQSUB28S0 sRETURN 

620 GOSU62900 

630 PR I NT ■ $ *; ESSERE TURN 

640 REM ********** G (VAI) ********** 

850 1 FL< >4THENGOSUB2880 : RE TURN 

660 ES$=RIGHT$( C$ , 4 ) s GOSUB2950 s 1 F V = 1 THENV-0 * RE TURN 
B70 5YSX5 RETURN 

680 REM ********** C (CONFRONTA) ********** 

890 POKE 198,0 

700 I FL< > 14THENGOSUB2S80 i RETURN 
7 10 C$=RIGHT$C C*,U 

720 A$ = M1D$C C$,5 , 1 ) 5 IFA$< > N ”ANOA*< >*- a THENGO5UB2880 : RETURN 
730 A$ = MI0$( C$, 10,1): IFA*< > " ,f ANOA$< > * - “ THENGOSUB2830 : RETURN 
740 ES$=LEFT$( C$,4 > i GQSUB2S50 1 A l IFV = I THENV = 0 * RE TURN 

750 ES$=MID$< C$,6,4)! GOSUB2850 s A2 =X S IFV- I THENV =0 : RETURN 
760 ES$~R IGHT$< C$ ,4) ! GU8U02950 ? A3 =X : 3 F V - 1 THENV = 0 * RETURN 
770 IFAI >ft2THENGOSUB2880 : RETURN 
780 FORKK-0TOC AE-RI >-i 

790 IFP£EK( A 1 +KK K >PEEKC A3 +KK ) THENX ^ I *KK i GOSUB2900 ? PR INTESA “ * 
800 IFPEEKC 197 X >64 THEWOKE 198 ,0 i FRI NT s RETURN 
810 NEXTEPR INT! RETURN 

820 REM ********** M (VISUALIZZA i N HEX ) ********** 

830 IFF= 1THENGPEN4 ,4 = CI® 4 
B40 IFL( >9THENGDSUB2S80* RETURN 
850 C$ = RIGHT$( C$,9) 

880 R8»MIDSC C$,5, 1 ) ! IFA$< > * *AN3A$< > M - ■ THENGOSUB3S80 ! RETURN 

870 E9$=LEFT$t C$,4 ) s GQ5UB2950 : A 1 =X t 1 FV * l THENV = 0 : RETURN 
830 ES$=R IGHT$( C$,4) s GOSUB2950 s A2 =K t I FV = l THENV =0 = RETURN 
390 ! FA 1 >A2THENGOSUB2880: RETURN 

900 PRINT 

310 FGRKK =A 1 T0R2S TEPO 
920 X-KK i GOSUB2900 

930 FRI NT * T ,, /ES$; * " J : FQRKX=KKTOKK +7 s X*PEEK( KX > t A9= 1 : GOSUB2900 

940 PRINTES*;* ” J i NE X TKX t PR I NT 


48 ’ Computer Club 


»! 


350 I FPEEKC 653 ^ 0THEN950 

960 I F F E E K ( 137 K >64THEN380 
970 NEXTKK 

900 PR 1 NT J 1 FP = ÌTHENPR INT«4 i CL0SE4 
990 PO K E 1 98 , 0 i RE TU RN 

1000 REM ********** 1 < VISUALIZZA IN ASCII? ********** 

1010 1FPMTHENOFEN4 r A :CM04 
1 0E 0 I FL< >STHENGOSU8ES80( RETURN 
1030 C*=R IGHTSK C*,3 > 

104 0 A* = MI DSX C$, 5/ 1 > i IFAS< > " "ANDA*< > " - " THENGOSUBB880 £ RETURN 
1050 £S£*LEFT*< C$,4 > : GGSUB3950 : A 1 =X : 1 FV= 1 THENV =0 = RETURN 
1 060 E - R H3HT$< : GOSUB3950 s A£ -X £ 1FV = 1 THENV =0 5 RETURN 

1070 I F A 1 >A£THENeGSUB£S80 s RETURN 
10S0 FRI NT 

1030 FORKK«A1TOA£STEP26 
I10O X =KK s GOSUD2900 

1110 FRI NT " ; ES$ 11 1 ,J ; i F0RKX^KKT0KK+£5 :X = FEEK< KX> 

1 1H0 X$= <f , H £ 1 FX > =3£AN0X< =■ 1 E ? THE NX $ ^CHR X) 
t 130 IFX> = 1G0THENX$=CHR$-; X } 

1140 P R ! NTX* ; : NEXTKX SPRINT 
1 150 IFPEEKC 653 >< >0THEN 1 150 
I 160 IFPEEKs 1 37 X >64THEN1 180 
1170 NEXTKK 

1 100 PR 1 NT 3 I FP * J THENPR I NTW4 : CLGSE 4 
1190 POKE 198 ,0: RETURN 

1 £00 REM ********** T < TRASFERISCE) ********** 

1 £ I 0 IFL< >14THEN6OSUB£S30 1 RETURN 
1 2 £0 CS*RIGHT*1 C*, 14> 

LE 30 fl$*MID*<C*/5iI)ì IFAS< > " M ANDA$< > THENGOSUBB8S0 i RETURN 
1 £40 fì5^MIG$(C$/10/l)i IFASO" " ANPrtiC y* THEN6QSUB89S0 : RETURN 
1B50 ES$ = LEFT$C C.m,4 > ; GOSUBP950 ~ A 1 =X : IFV= 1 THENV =0 ì RETURN 
IE60 ESSAMI D*( C$,6,4) : GOSUSE950 5 A£ =X : IFV" 1 THENV = 0 ' RETURN 
i £70 E5*-R J G H T $< Ci. 4 > ; GOSUE8950: A3 = K s 1FV= 1 THE NV = 0 : RE TUR N 
1330 IFA1 >fì£THENGOBUB£830* RETURN 

1 £30 FQRK^ETPk rlB-A 1 >-) ; F0KEA3+K r PEEK < A 1 +K ) : NEXT; RETURN 
1300 REM ********** t < SCRIVE IN HEX > ********** 

13 10 GOTO 1 340 

1330 C£- n “ £ INPUT** 1 r C$-'PR INT:L-LENt C$? -£ 

1330 IFLEFT$(C$/1>< > w t * THENCS = * t " +E5$+ " 11 +C$iL = L + 7 

1340 1FM1D*( C$ / 8 # 1 >® * . * THENRETURN 
1 350 I FLC GQRL >28THENGOSUB£880 : RE TURN 

1 360 ES$=MID$< CS f 3 ,4 > : GOSLI83950 : A 1 =X : IFV” 1 THENV = Bs RETURN 
1370 C* = RIGHT$< C$,LEfSK CS1-73 + * " :L=LEN;C$> 

1380 A£^0 : F0KE5S334 f 0 : FORK a ì T0LSTEP3 
1330 ES«=MID« C$,K ,£ > : A 3= t £ GOSUB3350 
1400 IFV- 1 THÉNV-0 £ P0KE56334 , 1 * RETURN 

14 10 PDKEA 1 +A£,X £ A£~A3 + I £ NEXT : POKE 56334 , 1 : A 1 = A 1 +A£ 

1430 X = A 1 i GOSUB3900 £ PR I NT N t " ; E S*“ "OGOTO13S0 

1430 REM ********** R «VISUALIZZA REGISTRO ********** 

1 440 IFL > = 0 THE NGO SUB£ 8 S0 * RETURN 
1 450 PR I NT u AC XR YR SP M i PR I NT " > * ; 

1460 FORK*780TO783 


Comi ut&rCfutì -49 



1470 X-PEEKC K > : A9 = I i GOSUB2900 : PR INTESA” ,k ■ : NEXT 

1480 FRI NT: RETURN 

1^90 REM ********** > (MODIFICA REGISTRI) ********** 

1500 IFL< >1 1 THEN0OSUBS8S0 : RETURN 
15 10 C$*R IGHT3K CS, 11) + " ' " 

1520 A2=0 ~ FORK tì 1TOI2STEP3 ' ES$= H 00*' +MID3K C-f ,K ,£ > 

1530 GOSU62950: IFV- 1 THENV -0 : RETURN 

1540 POKE7 S0+A2,X: A2=A2+ 1 : NEXT: RETURN 

1550 REM ********** £ CSCRIVE IN ASCII) ********** 

1560 GOTO 1530 

1570 C*- * ,f MNFUTtti ,C$ : PR iNT 

1580 IFLEFT$C C$,2)< > "£ “ THENCS* ■ (5 “+ESS+* * “ +C$ 

1590 L*LEN<C$): I FLC 3THENGOSUB2880 : RETURN 

1600 ESS-M I DSC C$,3,4 > : GOSUB2950 : A 1 =X : IFV= 1 THE NV -0 : RETURN 
1810 ESTIMI D$C C$,3,4 ) i GOSUB2350: A 1 = X £ I F V ~ 1 THENV =0 : RE TURN 
1620 CJ-R JGHT$< C$,LEN< C$) -8) 5 L S LEN< C$ ) 

1630 IFL< I URL >8STHEN6O5UB28S0i RETURN 

1640 tFLEFTJX C$, 1 >*= " « " THENRE TURN 

3650 POKE56334 ,©: An- 1 : F URKK =A 1 TOP 1 +L - 1 

1660 POKEKK ,ASC< MID$< C$ ,AA, 1 ) > : AA=AA+ 1 : NEXT 

3670 FOK£56334,l 

1630 rii -ftl +L:X -FU IGOSUBH900 SPRINT "0 "ES*" GOTO t 570 

1896 REM ********** < INIZIO & FINE DA CASS > ********** 

1 700 IFL > 1 5THEI4GOSUB2 880 i RETURN 
1710 C$ = R IGHT$( C$,LEN< C$>- 1 > 

1720 OPEN IO, 1 ; 0,C$! CLOSE 1 0 
l 730 X=PEEK< 830 > *256 +PEEK< 829 ) 

1740 GOSUB2900 ' PR INT^STES* “ - “J 
1750 X -PEEK< 83£ ) *256 +PEEK< 93 1 ) 

1760 GOSUB280G * PR INTESA" fi” sRETURN 

17 70 REM ********** 4- < COMAND i DISCO) ********** 

1790 Cf^R ÌGHT$< C$,LEN< C$) - J ) : A$^LEFT$<; C$,1) 

1 730 I FA®» " $ rt THENGOSUB2030 : RETURN 
1800 1 F n $ ~ H W ‘THENGOSUB 1990 SRETURN 

1310 REM ********** COMANDI ********** 

1828 FORM 1T0L£N< C$> 

1 030 IFMID$< C$,K , I >*"A“TH£NC$ = LEFT$C CS,K-JJ+"i " +R IGHT$< C$,L~K+ 1 > 
1840 IFMI0$< C$ /K , 1 >** * “THENC$*LEFT$< C$,K~1 ) +“ , “+RIGHT$< C$,L-K+ 1 ) 
1850 NEXT 

I960 OPEN 1 5,8, 15, C$ 

1 870 GQSU6 1830 
1398 RETURN 

1890 REM ********** ERRORE ********** 

1800 INFLITTI 5, A l$,A£$,A3$ f A4$ 

1910 PR I NT J ' !M" A i$ u , ,l AE$" , M A3$" , H A4$"IT i CLOSE 1 5 s RETURN 
1320 REM ********** INIZIO PRQG DA DISCO ********** 

193G Cf = R IGHT$C C$,LEN< C$) - I > : IFLENC C$ ) =0THENGOSUB2880 : RE TURN 
3940 OPEN10,8 ,3 ,C$ 

1950 GETtt 10,A 1$: GETtt 16 ,A2$: CLOSE 10 
I960 X$-A1$:GDSUB2010: AI ~f\ 

1970 X$=A2$: G0SUB2© 10 iÀ2=A*256 

1980 X=A 1 +A2:GOSUB2900tpR lNT f, M"ES$ 


50 - Computer Chtb 



1390 OPEN 15,8 , 15 :GOSUBÌ360 
E 000 RETURN 

20 10 1FX*= " “ THE f'IR -0 s RE TURN 

£020 A = ASC< X* ) ì RETURN 

£030 REM ********** DIRECTORY * * * * * * * * * * 

2040 POKE 198,0 
2050 PRINT 
2060 OPEN10 ,8 ,0, W S0 - 
2070 GETtt10,A*,B$ 

2080 GET# 10 ,A*,B*:GET# 10,A^,B*:C=0 
2090 !FA*< >" “ THE NC fc rtSC< A$> 

2 100 IFB*< >* ** THEMC -C + ASC< BSO *256 
2 110 PR ÌIMTM1D*C STR^< C > ,2) JTABt 4 >; 

2 180 6ET#10,B$: IFST< >0THENH22© 

2 13© 1FB*K >CHRSC 34 )THEN£120 

2 140 6ET# 10 , IFB*< >CHR*£ 34 ) THENPR 1 NTB^J :GQTQ2 140 
215G (SET# 1© ,8*; IF8$=CHRS< 32 ) THENg 150 
2 160 PR SNTTABC 18 ); !CS= * * 

2170 CS = C* + B*ìGET#10,B*s IFB*< > B "THEN2 170 
2180 PRINT" "LEFT$CC*,3> 

2 190 1FPEEKC B53K >0THEN2 1 90 

£200 1FPEEKC 197X >B4THENPOKE 1 93 , 0 s GOTO2230 

£2 1© IF5T*0THENE080 

2220 PRINT* BLOCKS FREEM'' 

2230 CLOSE 10 i RETURN 

£2 40 REM ********** H C RICERCA) ********** 

2250 I FL< >l2THENGgSUB2830 ! RETURN 

2260 POKE 138,0 

2270 £*-RIGHT*< C*,L > 

£28© X$=MID*C CS, 10, 1 ) 5 IFX*< > lf "ANOX*< > ■ - ■THENGOSUB2880 1 RETURN 

2830 X*=MtD*{ C¥,5, I ) S IFX*< > u > * - 11 THE NGOSU82S80 ; RETURN 

2300 ESS=LEFT*< CS,4? : GQSUB2950 s A 1 =X : 1FV = 1 THENRETURN 

£310 ES*=MIDS* C* ,6,4 ; =GDSUB2950i A2=Xi l F V = 1 THEf^ETURN 

£320 E S£- "0© " +R I GHT$t C*,2> : EOSU8E950 : A3 ~X : IFV” I THENRETURN 

£330 I FA 1 ? A2THENG0SUB289G : RETURN 

2340 PR I NT t F QRK K 1 T0R2 

2350 IFPEEKt KK ) ^ A3THENX-KK a G0SUB£900 : PR INTESS; * * I 

2360 IFPEEKC 187M >B4THEN£300 
2370 NEXT 

238© PDKE 198,0 : PRINT: RETURN 

£330 REM ********** L & V £ LORO & VER I F Y ? ********** 

2400 

2410 L=L+2t 1FL<6THENGOSUB2OS01 RETURN 
£42© DATA 1 63 , 1 5 , 1 62 , 0 , 1 60 , 1 , 32 , 1 86 , £55 , 169 
£430 DATA 0,162,198,160,2,32,189,255 
2440 DATA 189,0,162,0, 160, 0,32,213, £55, 96 
2450 C* = E 1GHT4K C*,LEN< C$>-1 > 

24G0 A2 = VAL( R 1 ©HTt< C*,2^ > sC*=LEFT$< C*,LENC C$>~3) 

£470 I F A2< >lANOA2< >8THENGOSUB2880 : RE TURN 
2480 A**LEFTS< C$, l > J 8*=R IGHT*< C*, 1 > 

2490 IFA*< >*' 1 *QRG*< > ,f * ‘ THE NGOSUB£880 : RETURN 

2500 CS^LEFT S< CS,LEN< CSJ -l > : C**R IGHTS* CS,LEN£ CM}-Ì > 


Computer Ciuò - 5 i 


co m 



£5 10 I FA£=8ANPC$- - *'THENGOSUB2880i RETURN 
£5£0 lFLEhK C$> > 1 GTHENDCSUB2880 : RETURN 
£530 RESTGRE ! FQRT=0TO£7 : RE ADR t POKE680 +T ,A ! NEXT 
£540 IFCÌ= H " THEN2560 

i £550 FORK - 1 T0LEM\ C$> iPOKE70S+K ,A5CC MlDSs Cì,K ., 1 > ) INEMT 
£580 PUh ES33 , A£ ? PDKEG90 , LEN< CS> i P0KE69S ,0 : 1FAA$= " V M THENP OKE89S , I 
£570 SYS6S0 

£580 lFR£=lAr©ST< >0THENPR ÌNT 11 ^ERROR “ 

£530 [FA£^8RNDST*80THENPRINT b flERROR “ 

£600 FR 1 NT= RETURN 

£61© REM ********** S C BAVE > ********** 

£6£0 L=L+£t IFU< 1 6THENGOSUBS880 : RETURN 

£630 DATA 1 63 , 1 5 , 1 6£ , 0 , 1 60 , 1 , 3B , 1 86 , £55 

£640 DATA 169 , 0 , 162 , 1 98 , 160 ,£ , 3£ , 189 ,£55 ,163,851 

£650 DATA 1 68, 0 , 1 60 , 0 , 3£ , £ 1 6 , £55 , 36 

HE60 C$=R 1GHT$< C$,LEN< C$>~ 1 > 

£670 E5$ = R IGHTSC C$,4 > : C$-LEFT$C C$,LEN»: C$) -5> s GOSUBES50 : A£ ~X 
£680 ES$~R I GHT$( C$,4 > :C$=LEFT$< C$,LENK C$1 -5) ì 6OSUB2950 s A S = X 
£600 1FA I >^A£THENGOSLJB28&0: RETURN 

£700 A3-VAL^ R IGHT$C C$,£ > > : IFA3< > 1ANDA3< >8THENGOSUB£S80 : RE TURN 
£7 10 C $ ” L E F T$< C $ , LE N< C $ > -3 > 

2728 A$=LEFT$\ C$ , 1 ? SB$*RI<3HTS< C$, 1 ì 

£730 IFA$< >° 1 *'ORB$< > H 1 H THENGO5UB£SB0 : RE TURN 

2740 C$ = LEFT$< C$/LEN< C$>~ 1 > SC*=RIGHT$< C$,LEN< C$>- 1 > 

£753 1 FLEN< C$> > 1 6 THEH3QSUB2880 i RETURN 
£7E0 A( £> = INT< A 17856 > : FK 1 >-A 1 -A< £ > *£56 
£770 fK 4)^ I NTC A£/'£56>:A< 3>-fY2-A< 4 ) *256 
£780 RESTORE S FORT -0TOE7 : REAOA ! NEXT 
£790 FORT = 0TO£7 ! RE ADA S POKE680 + T , A : NEXT 
£300 IFC$=“ * THENE880 

£8 10 F ORK - IT0LENK C$> :ROKE70S+K ,ASC< MjD$< C^,K , 1 > ) J NEXT 

£9£0 P0KEG83 ,A3:ROKES90 ,LEN( C$ ì 

£830 POKE7BI , A< 3 > :PQKE703, A< 4 > : P0KEE5 1 ,A-; 1? 

£840 P0KE£5£ ,A< S ) : SYS68© s PR INT 
£850 RETURN 
£3E0 EM3 

£870 PR INT* JfcBMLR ì GOTO 150 g" ; : P0KE63 i , 13 ! POKE 138 / 1 i EfJD 
£880 REM ********** ERRORE ********** 

£350 PRINT P CT ;TAB< 37 “ s RE TURN 
£300 REM ********** DEC -ESA ********** 

£910 ES$ = " * ' F0RK9 =0TO A3 : X 1 = INT( X/ lBTC A9-K3 ? > 

£320 X«X-X 1 * I6f( A3 ^K3 > :AK$=5TR$< XI) 

£93© E 1$ = R IGHT$< AK$,LEM( AK$>~ J > t 1 FX 1 ^9THENE 1$ = CHR$< X i +55 > 

£940 ES$ = E3 $+E L $: NEXT : A3 * 3 : RETURN 
£350 REM ********** ESA “DE C ********** 

£860 X = 0 ;FORK9*0TOA9j Xl $=MID$< ES$,K9+ 1 f 1 > :U^VAL< Xl$) 

£37© lFU = @ArOX 1$< > "0-*THEN£390 

£380 X^X + U * 16 T*; n9-K9) i htXT : A9 = 3 : RETURN 

£990 U = ASC< Xl*)-55* IFU>I50RUC -7THENV = 1 : 6OSUB2880 : RETURN 
3000 X=X+U+ 16 T< A9-K9 > ì NEXT : A3 - 3 : RETURN 

READY - 

5? - Computer Club 


M ICROPROCESSORI 




DlS ASSEMBLER 


uest'udk programmi, numerato da 
4000 in poi in modo da consentire l n ‘AF* 
PENI)’’ al programma Iper Monitor, 

INO 

.N ESA 

□ATI 

MLEMON. 


permette di esplorare la memoria dd vo- 
stro computer. U istrunwii per il fuo/ìo- 

1 13 

0073 

£6 re 

INCZ 

122 

na mento sono riportate da 4044 a 4 184, 

1 1 7 

0075 

□0 02 

BINE 

2 

Se, utiiimAdo U programma. appare 

1 19 

0077 

EB 7B 

INCZ 

123 

121 

0079 

AD 26 OF 

Loe 

3944 

Terrore ddla riga 4232, vuol dire che 

124 

007C 

C8 3ft 

ChFIM 

50 

avete digitato emme-ameni? alcuni dd 

126 

007E 

90 0A 

8CS 

10 

valori 1,23 riportati nei DATA, L’errore 

128 

0030 

C3 20 

CMP I M 

32 

di riga 4233 indica^ invece, una errata 

130 

0032 

F0 EF 

BEO 

239 

trascrizione di asterischi ( * ). 

132 

0034 

36 

SEC 

li a figura riportata rappresenta Tout- i 

133 

0065 

E9 30 

SBC Iti 

48 

135 

0097 

30 

SEC 

puf della routine CHARGET utilizzata 
nel programma ESPANSIONE DEI CO- 

1 36 

00B9 

E3 00 

SBC IM 

208 

MANDI BASIC. j 

139 

00@fì 

60 

RTS 



4000 REM ** QISASSEMBLER 6302 -63 10 ** 

4010 REM •* t* 

4020 REM ** ALESSANDRO DE SI MONE ** 

4030 ! 

4040 PRJNT'J DIGITA IN DECIMALE L'INDIRIZZO DI 

4030 PR INT'PARTEf'CA DEL PR0GRAI*f4A DA 0 I SASSEMBLARE . 

4060 PRINTiPR I NT "DOPO CHE SULLO SCHERMO (0 SU STAMPANTE) 

4070 PR INT “SONO APPARSE 23 RIGHE, E' NECESSARIO 
406® PR INT "DIGITARE *?ETURN* PER CONTINUARE OPPURE 
4090 FRINT"»OMEH PER TERMINARE O aSPACE* PER OTTENERE 
4100 FRI NT "LA SOLA ISTRUZIOInE SUCCESS IVA . - i PR INT 
4110 PRINT" CON tf^JLLB SONO INDICATI I DATI CHE* 

4120 PR INT "NON SONO RICONOSCIUTI COft ISTRUZ IONI .* i PR INTi PR INT 
4130 PRINT* UTILIZZANDO LA STAMPANTE APPAIONO 
4140 PR INT"S I A SU VIDEO SIA SU STAMPANTE LE 
4130 PRINT"TRADUZ IONI ESADEC IMALE- DECIMALE E 
4 1 60 PR I NT*V ICEVERSA 

4170 PRINT'PER INTERROf'f’ERE PREf'ERE SHIFT" 

4180 PR INT "PER FINIRE BATTERE UN INDIRIZZO NEGATIVO* 

4190 D IMMNSC 236 ) ,BY)K 236 ) ,C0*< 16) 

4200 FORE“0TO2'33l REA0f-t4*< E) 

4210 IFW*( E ) *TH£NBY)i< E)“0iW*K E ) 3 "aULU* i GOTO4230 
4220 READBYXCE) 

4230 NEHT 

423 1 Y»OiX*B5FORi»gT0233iX«X+BYM< 1 >1 IFBY>« I )*0THENY=Y+1 


Computer Club - 5 3 


4232 

NEXTi 1FX< >32 ITHEFFR INT" 1 /E/3 ERRATI NEI 

DfìTFi* :END 

4233 

IFY< > 105THENPR INT"ERROF I IN QUANTITÀ’ DI 

* 

DATA " : END 

4240 

F0RE = 0TQ 1 5 



4 E 50 

RE RDCOSC E) 



4280 

NEXT 



4270 

PRINTSPRINT’M »=REMI UN TASTO” 



4280 

GETX*: IFX*** "THEN42B0 



4290 

6OTO4360 



4300 

SX = I NT( OC/ 16) 



4310 

UN = DC-< SX* ÌB> 



4 320 

SX*=COS( SX) 



4330 

UN*=COS< UN} 



434© 

HX*=5X*+UN* 



4350 

RETURN 



4360 

PRlNT:PRINT“CON STAMPA ? SI 0 NO ” t 



4370 

GETX*: ÌFX*= • 'THEN4370 



436© 

IFX*< > "5 “ THEN44 10 



4330 

0FEN4 # 4 



4400 

Fl*=“ INC.N ESA DATI MNEMON. “ 



44 10 

PR I NT 11 y M I 



4420 

INPUT” INO IR I2ZO 01 PARTENZ A “ ; AO : I =0 



4430 

IF RD<0 THEN CL0SE4iEND 



444© 

JFX*="S*THEN1F I =0THENPR I NT«4 , F 1 * : PR I NT*4 



4450 

IF I =2360X04740 



4460 

1 = 1 + 1 



44 7© 

IB=PEEK< AD) 



4480 

IF PEEKC 653 > THEN 4420 



4490 

QNBYX< 1B)GOTO4500 ,4550,4630 



4500 

DC= IB J 6OSUB4300 : GO SUB 5 100 



45 10 

PR INTAD; FìD&S TfìBt ie>;HX*JTAB< a 1 } ;lflK IS } 



4520 

LF = M S * THENPR 1 NTH4 # AD " "ADa^HX*' 1 

, mn*( i e > 

4530 

AD*flD+ I 



4540 

GOTO4730 



4550 

DC = IB ■ GOSUB4300 



4560 

B l*=HX$ 



4570 

DC =PEEK< AO + l ) ! GOSUB4300 



4580 




453© 

GD5UB5 100 i P-DC 



4G00 

PR INTAD " AO*TAB< 1E)JB1*; " ”;B2*>TAB( 81 ) J MN*( 

IB))TAB< 27) )P 

4610 

IFX*= ”S "THENPR iNT#4 ,AO “ “AD*,BI*“ ”B2*" 

pi 

,MN*< IB),P 

4820 

A0=AD+2 t GOTO4730 



4638 

DC= 18 * GO SUB 4 300 ! B 1 S=HXSS DC = PEEK( AD + 1 ) : GOSUB4300 

4840 

B2$=HX$ 



4650 

OC=PEEKC AD+2} ' 605UB4300 



4668 

B3$=HX* 



4670 

OP = PEEKC fìD + i )+< PEEKC RD+2 )*£56} 



4880 

G0SUB5 100 



4630 

PR INTAD i AO*,* TABC 12);B1*J " ‘ *f 



4700 

PR INTB3S; TftBK 2 1 > ; MN*K I B > ; TRBt 27 > ; OP 



4710 

I F “ B " THENPR 1 NT44 , FIO * É B2$" 

P B3$,MN*< I B > ,0F 

4720 

fi 0=^0 +3 




54 * Cornpulef Club 


■e 



'4730 

GOTO4440 

— 

4740 

SETA*: IFA*= ■ -THEM4740 


4750 

IFA* 

= CHR*< 1 3 >THEf'ICLOSE4 : G0TQ44 10 


4 760 

TFA* 

*- "THE NI ”22 • GOTO 4 440 


4 770 

IFA*< >CHR*< 13JTHEN4740 


4730 

1 =0 



4730 

GOTO4440 


4 800 

DATA 

BRK , 1 ,QRft , *,ORAZ ,2 , ASt. ,2 , * ,PHP , l 


4310 

DATA 

ORA IM,2 , ASL.A , 1 , * , * „CIRA ,3 ,ASL. ,3 , * ,BPL ,2 ,ORA IY,2 


4820 

□ATA 

* ,* , * ,0RAZX,2 ,ASLZX,2,* ,CLC, 1 ,0RAY,3 


4830 

DATA 

* , * , *,ORAX,3,ASLX,3, *, JSR,3,AN0 IX ,5,* 


4840 

DATA 

* ,BITZ , 3 , ANDZ ,2,R0LZ ,2,*,PLP, 1 , ANO IM ,2 ,ROLA , 1 ,* 


4350 

DATA 

BIT,3,AN0,3,RQL,3,*,BM1 ,2 ,ANO I Y,2 , * , * , * 


4860 

DATA 

ANDZ X , 2 , ROLZ X , 2 , + ,SEC, 1 , ANDY ,3 , * , * , * ,ANOX,3 


4870 

DATA 

R0LX,3,*,RTI , 1 ,E0RIX,2,*,*,*,E0R2 ,2,LSRZ ,2 


4880 

DATA 

*,PHA, 1 ,E0RIM,2,LSRA, 1 , * , JMP ,3 ,EOR ,3 ,LSR ,3 , * 


4890 

DATA 

BVC,2,ECTR IY,2 * ,EORZX ,2 ,LSRZX ,2,* 


4 800 

DATA 

GLI , 1 jEDRY ,3/*^*,* ,EQRX * 3 ,LSFX # 3 , # #RTS * 1 


4310 

DATA 

ADC IX ,2 , * , * , * r ADCZ ,3 ,RORZ ,2, * ,PLA , 1 ,ADC IM,2 


4820 

DATA 

RORA, 1 , * , JMP I ,3,ADC,3„R0R,3, * ,BVS ,2 ,ADC I Y,2 , * 


4930 

DATA 

*, * ,ADCZX ,2,R0RZX , 3 ,*,SE I , I ,ADCY,3,*,* 


4340 

DATA 

* , ADCX ,3 ,RORX ,3 , * , * ,STA IX ,2 , * , * ,STYZ ,2 


43S0 

DATA 

STAZ ,2,5TX,2, * ,DEY, 1 , * ,TXA, 1 , » ,STY ,3, STA, 3 


4360 

DATA 

5TX,3 , *,BCC,S,STAI Y,2 * ,£TYZ K ,2 ,STAZX , 2 ,STXZY ,2 


4370 

DATA 

* , TYA . 1 , STAY ,3 , TXS , 1 , * , * ,STAX ,3 , * , * 


4380 

DATA 

LD Y I M, 2 ,LDA IX ,2 ,LDX IM, 2 , * , LD YZ ,2,L0AZ ,2,L0XZ ,2 r * 


4380 

DATA 

TAY, 1 ,L,DA IM,£ , TAX , 1 ,* ,LDY ,3 ,LDA ,3 ,LDX ,3, #,BCS ,2 


5000 

DATA 

LDAIY,2,* ,* ,LDYZX ,2,LDAZX,2 ,LDXZY,2 , * ,CLV , 1 


5010 

DATA 

LDA Y , 3 , TSX , 1 , * , LD YX , 3 , LDAX , 3 , LDX Y , 3 , * ,CP Y 1 M , 2 , CW IX ,2 


5020 

DATA 

* , * rCPYZ ,£ ,CMPZ ,2 , OECZ , 2 , * , 1 NY , 1 , CMP I M , 2 ,OEX , 1 


5030 

DATA 

*,CPY,3,CMP,3 ,OEC ,3, * , BhE , 2 , CMP 1 Y , 2 , * , * 


5040 

DATA 

*, CMPZX, 2, DE CZX ,2, * ,CLD, 1 ,CMPY,3 , * , *,* 


5050 

DATA 

CMPX, 3,0ECX,3, * ,CPXIM,2 , SBC IX, 2 , * , * ,CPXZ ,2 ,SBCZ ,2 


5060 

DATA 

INCZ ,2,* , INX , 1 , SBC IM,2,N0P, 1 , * ,CPX ,3 ,5BC ,3 , INC, 3 


5070 

DATA 

*,BEQ,2,5BCIY,2,*,*,* ,SBCZX,2, 1 NCZX ,2 , * ,SED , 1 


5030 

DATA 

SBCY , 3 , * , * ,SBCX ,3 , INOX, 3, * 


5090 

DATA 

0,1 ,£,3,4,5,6,7,8,3 / A |F B,G,D.rE , F 


5100 

A=AD 

ì S3= INTC AD/4096 > 


5 1 10 

A -A - 

53*4036 


5 120 

S2= INTC A/256) 


5130 

A=A- 

S2*E56 


5 140 

S= JNTC A/16 ) 


5 150 

U*AO 

-< 53*4096+SB*£56+S* 16 > 


5 180 

53*=co*c sa > 


3170 


CO** S2 > 


5130 

S*=CO*( S) 


5 190 

u> 


5200 

AD* = 

S3*+S2*+S*+U* 


52 10 

RETURN 


READY, 




Computer Club - 55 


o« e 


OM 



Avanzato 


Espansione 
dei Com andi Basic 


Un modo di inserire comandi 
personalizzati nei vostro computer. 

gesto articolo, e il relativo program- 
ma, si ri volgono primi palme rate ai {ettari 
t hè già conoscono appmfonditamenie LI 
Commodore 64 e sanno cavarsela coti la 
programmazione in Assembler* 

Per tutti gii altri interessaci al solo uso 
di nuovi romandi (chissà che anche voi 
non vi prendiate urta colta per F Assem- 
bler prima o poi), vi e anche il program- 
ma in Basic che vi permette di aggiungere 
3' utile cornando — C A,B dove *A* e 'B‘ 
sono rispetti vomente il colore del bordo e 
dello sfondo. Basta caricare il program- 
ma c dare MI N per avere a disposizione il 
nuovo comando. 

er i lettori più esperti non dovrehbe 
essere difficile capire il funzionamento 
dd programma, ma in ogni caso ecco la 
descrizione dello stesso. Fon unitamente 
i progettisti del sistema operativo del C A4 
li un no previsto che sarebbe stato utile po- 
ter espandere in qualche modo i comandi 
del Bande, e al fine dì permettere ciò han- 
no situato una importante routine in 
RAM in modo da poter essere convenien- 
temente modificata all'occorrenza, 

T ale routine si occupa di cercare il 
prossimo carattere da interpretare igno- 
rando eventuali spazi bianchi. Il pro- 
gramma pubblicato modifica questa mo- 
line che e situala in pagina zero a partire 
dalla locazione 1 15. Se esaminate attenta- 
niente il listato defi ‘Assemblatore (tenete 



presente che si tratta dell' Assemblatore 
pubblicato sul numero 7 di questa stessa 
rivista, per cui controllale la particolare 
sintassi usata), vedrete che il tutto è molto 
semplice. 

In pratica si sostituiscono i primi 3 hy- 
tes della routine originale con una istru- 
zione di sulto alle nostre routine che 
provvedono, nat ura ime rate, a rimpiazza- 
re ì tre bytes soppressi , ed in più effettua- 
no un ulteriore controllo sui caratteri da 
inviare afI T in ter prete. 

er La precisione il programma con- 
troflit se il carattere che sta per essere 
invialo all 'interprete è un nel qual 
caso si salta alla routine USER, mentre in 
caso contrario il controllo viene restituito 
all 11 interprete. La routine USER ha il 
compito di esaminare i caratteri che se- 
guono la *— per individuare le differenti 
Istruzioni (nel nostro esempio il comando 
e uno solo, v— C) e saltare alle corrispon- 
denti su bruti fi nev 

Tenete presente che se il comando ha 
un solo argomento, come nel nostro esem- 
pio, per prelevare i caratteri che seguono 
occorre chiamare ogni volta la subroutine 
denominata NF.XT . 

i Mino due routine*» del Basic che ven- 
gono usate nella routine 4 — C e in quella 
ERR. 1 jì prima interpreta 2 numeri o 
variabili separali dalla virgola, codifican- 
do il primo su 16 bit, il cui valore è posto 
alle Locazioni $14 e $15 e il secondo su 8 
bit, il cui valore e posto nel registro \. 

La seconda di queste routine, se chia- 
mata con un .ItVfP provoca la stampa del 
messaggio 71LLEGAL QtJANTITY ER- 


56 - Competer Chiù 




p 


er finire lina curiosità; i nuovi coman- 
di vengono interpretati anche airi n temo 
dei REM , per cui attenzione se in fase di 
debug REM -ale qualche lìnea* 


h in re manualmente 1 due bytes segnati 
ci m (R> nel listato A aem bkr, Questi de- 
vono infatti puntare sempre al l'indi ri zzò 
corrispondente alla linea 73 del listato As- 
sembler- 


KM) : ^tb T 6: 

Racchiudere T cioè, il comando tra due 
coppie di doppio punlo. 

A mi rea & Alberto Romiti 


10 

20 

30 

40 

45 

50 

55 

56 

57 

58 
60 
65 
70 
75 
77 


-♦.SC000 ; OR IO INE = 49 158 


" LDA 

S4C 

! POS 1 2 I ONfl 

” STA 

< #1 15> 

; il 

* LOA 

*17 

JCRJ SALTO 

“ STA 

< n I 1 6 > 

> ALLE 

* LDA 

SCO 

;<R) NUOVE 

STA 

(KH7) 

J ROUTINES C LINEA 79 5 

11 RTS 



^ ******* 

•©NEKT 

; SUBROUT I NE 

“ INC 

,< «133) 

; RICERCA 

“ IENE 

UNO 

r CARATTERE 

■ INC 

.C tt I£3> 


”@UNO 



11 RTS 




78 %'***** + * + + 3M#*** + ************#***** 


78 
80 
90 
190 
1 10 
120 
130 
I 35 
140 
145 
150 
155 
160 
170 
180 
190 
300 
330 
330 
£40 

350 

’-s C ^ 

cSc 

354 

255 

360 

300 

305 


* JSR < NEXT > MNTERPRETA IL COMANDO 
" TXA 

* FHA ; NELLO STACK 
* LDX #0 

H LDA /Ai #1 £2 >; PRELEVA IL CARATTERE 
“ CNF #95 r E * UN ' ^ p 7 

‘ BEQ USER ; SI 1 , NUOVO COMANDO 

11 £?END 

M PLA J RIPRISTINA X 
H TRK 


" JMP >:#12 1 ) } NO, RI TORNA AL BASIC 


eusER ; 

ROUTINES Di UTENTE 

JSR 

{ NEXT) 


LDA 

/X< # 122 ) 


CMP 

WS? 

; E * UNA k C * ? 

SEQ 

C ; SI, SALTA 

JMP 

< E ND > ;no 

,F INiSCE 

8C 

i ROUTINE 

DI PROVA 

JSR 

< VAL) 


STA 

C #5328 1 ) 

t SETTA SFONDO 

LDA 

( *14) 


STA 

< #53330 ) 

; SETTA BORDO 

JSR 

< NEXT) 


JMP 

< END ) 


<5 VAL 



JSR 

< NEXT > 



Computer Club - 57 


3blQ 


3 IO 

tP 

JSR 

C *B7EB ) 

f VALUTA NUMERO 

SEGUENTE 


3 15 

Pi 

TXA 






340 

PP 

CNF 


; E ' 

< D I T 0 * 

7 


350 

IP 

BMI 

ERR 

,* S I 

■ , ERRORE. 



3S0 

H> 

CNF 

a 18 

E ' 

> □ 1 15 

7 


370 

M 

BPL 

ERR 

>5 1 

1 , ERRORE 



371 

W 

LDA 

< *1 4 > 





372 

H 

CMP 

*10 

; E 1 

< 01*0* 

7 


373 

« 

BMI 

ERR 

;s i 

- , ERRORE 



374 

•N 

CMP 

4 16 

> E 1 

> D I 15 

■7 

*• 


375 

in 

BPL 

ERR 

; 3 1 

- , ERRORE 



37S 

frp 

TXA 






380 

II 

RTS 






330 

K 

*!ERR 

UROLITI NE 

D I ERRORE 



400 

II 

JMP 

< $B24B > 

° I LLEGAL QUANT I TY ERROR 


REROY 

* 





ESPANSIONI COMANDI BASIC FIG* 1 


100 REM ******** * ******************* t * # * 
110 REM * EXTRA BASIC PER COMMODORE 64 * 
120 REM * ALBERTO & AND REA BORI RIMI * 
J30 REM * V IR ACACIE 3 CUSANO M I LAN 1 NO * 
140 REM * TEL , 02X6 1 35626 * 
150 REM ********* ***** ****************** 


160 i 

170 REM **** LETTURA OPTA **** 

100 ; 

190 POR F=0 TO 10 H READ D= POKE 4915£+F,0: C =C *0 : NEXT 
£00 REM **** CHECK.5UM *** + 

£10 IR C\ >10233 THEN p R INT” ERRORE NE I DATA 11 i END 
220 SYS 49152 
£30 REM +***- DATI **** 

240 s 
350 DATA 
280 DATA 
£70 DATA 
£90 DATA 
290 DATA 
300 DATA 
310 DATA 
3D0 DATA 
330 DATA 
340 DATA 
350 DATA 
3G0 t 

370 REM ESEMPIO SINTASSI: 

3B0 REM +C6,6 

390 REM COLORA FONDO E BORDO IN BLU 

READY . ESPANSIONI COMANDI BASIC FKS-2 


1 69 , 76 f 14 1 , ì 15 , 0 , 169 , 23 , 141 , 1 16 
0 , 169 , 192 , 141 , U 7 , 0 , 9 E ,230 , 122 ,£08 
2 , 230 , 123 , 96 , 32 , 16 . 132 , 133 , 72, 162 
0 , 161 , 122, 20 1 , 35 , 240 , 5 , 104,170 
78 . 12 1 , 0 * 30 , 16 , 132,161 
12 £, Ó 31 , 67 , 240 , 3 , 76 , 3 © , 132,32 
71 , 192,141 , 33 , 203 , 1 73 , 20 , 0 , 1 4 1 , 32 
208 , 32 , 18 , 192 , 76 , 36 , 1 92 , 32,16 
1 92,32 , 235 , 183 , 138,201 , 0,48 
1 7 * 20 1 , 16 , 16 , 13 , 1 73 , 28 ,0 .£0 1 ,0 
48,6-201 , 1 6 , 1 6 ,2 , 1 38 , 36 , 76 , 72 , l 78 


58 Computer Club 



Didattica 



La Gestione 

dellTnterrupt nel Commodore 64 


Nuove, straordinarie possibilità 
d 'impiego per il vostro computer. 

1 1 lettore dovrebbe sapere che alE inter- 
no dei computer Commodore e f è un oro- 
lojEJO, con ciclo di 24 ore, che inizia a 
contare il tempo dall'istante in cui viene 
data tensione all' apparecchi in. Tale con 
latore di tempo e piuttosto preciso, dato 
che e controllato da un quarzo e gli sono 
dedicate due vana bili , t na di queste e il 
I L variabile riservata al calcolatore nel 
senso che non può essere modificata dal- 
l’utente. Se infatti tentiamo di digitare 
1 1=43 otteniamo un M VTAX LHROR, 
[„a seconda variabile e invece TIS e serve 
per regolare K orologio su IT ora 
desiderala» 

taf sempio: HS= “121300" comun iche- 
rà al calcolatore che e rneziu*£k)rmj e un 
quarto, t ' ovvio che TlS viene aggiornala 
di continuo, ed esattamente 60 volte al 
secondo, dalla variabile TI, Quest’ idi ima 
variabile ha riservate tre locazioni di me- 
moria» Udì, 16 L 162» nel Commodore 64 
come nel Vie 20, Il loro contenuto viene 
incrementato» l'uno dopo l'altro, da zero 
a 25$. Il microprogramma rii figura I e di 
aiuto per comprendere quanto assento, 

o gni ses-santesimo di secondo si deve» 
pertanto, verificare un processo per cui» 
anche se l'utente non lo richiede esplicita - 
nume, i contenuti delle tre locazioni, ven- 
gono aggiornati, elaborati e trasferiti io 
TIS se richiesto» 

A tutto questo, e a tante altre cose, 
provvede il Sistema Operativo IS.O. i e 
vedremo in che modo. 



^Plichi sanno che il 6502 e il 65 II), micro- 
processori utilizzati sul Vie 2(1 e sul Com- 
modore 64» hanno» ira gli altri» un piedi- 
no i pin i ed esattamente il -V4 (65021 ed il 
V.ì (6510) chiamato IRQ (Infermpt Re- 
Queii = richiesti* di interruzione di pn^ 
gramrnai. tn assenza del segnale appro- 
priato sul pin specificato, il mkni proces- 
sore lavora nnr nuilniente eseguendo il 
programma allocato in memoria. Non ap- 
pena invece giunge rimputsn, il micro- 
processore* automaticamente, compie k 
seguenti operazioni: 

* Porta a termine ristnizioae che sta ese- 
guendo in quel momento (attenzione: la 
singola Istruzione in Linguaggio Macchi- 
na c non l'eventuale istruzione Rasici. 

* Salva 1 memorizza } il contatore di prn- 
gnunnu, cioè l'indirizzo dell - Istruzione 
successiva, che avrebbe eseguito se non vi 
fosse stata la richiesta di interruzione. 

* Sai va il registro di Hag di stato (Curry, 
Ove rftw * Negativo, ecr») in un modo che 
in questa sede non interessa. 

* Salta ad eseguire il programma in Lin- 
guaggio Macchina il cui indirizzo di par- 
tenza è contenuto nelle locazioni FFH 


t parte bussa i e HIT f parte alta j* Si tenga 
presente che il modo di operare descritto 
e una caratteristica de! micro processore e 
non del computer» Qualunque calco! ato- 
re basalo sul 6502 oppure sul 6510 rem* 
conio del contenuto degli indirizzi FFFF 
KIT 1 alla richiesta di un intcrrupt. 

* Il nuovo programma in L.M. dive ter- 
minare con una Estrazione RTI (Rerum 
fmm Intemipl - ritorna dall' iute mizio- 
neb codice esadet imale 4fl, Istruzione im- 
plicita ad ii ti solo byte* 

• Quando il mkroproces'yure incontra l'i- 
4ntx»fK RTI, esso richiama nuovamen- 
te il registri dei Hag inirmi precedente- 
mente memorizzati e l indi rizzo dei Pi- 

vtruzioue che avrebbe dovuto eseguire se 
non vi frisse stala richiesta di 

interruzione. 

A questo punto il micro e nelle stesse 
co udizioni in cui era quando si e verifica' 
to I IRQ. Attenzione: ['accumulato re. il 
registro X e quello Y non sono più gli 
stessi di primo, ma assumono ['eventuale 
valore derivante dalla elabora/ione della 
mutine di interrupt. 

odiamo ora a che può servire quanto 
detto finora, lì piedino dei circuito inte- 
grato spesi fica to e connesso con un i Imi 
(regnale temporìzzato l per cui il compu- 
ter (badate bene: ogni sessantesimo di se- 
cotido}, interrompe IXabura/io tir ed ese- 
gue alcune routine di controlla. Per esem- 
pio, non appena si accende Lappare* - - 
chiù, ed anche in molti altri casi* ii curso- 
re lampeggia con un ritmo ed in una posi- 
zione determinati proprio dalla mutine di 
interrupt. Questi* esamina* ad altissima 
trincila» se e stato digitato un tasto oppu 

5-9 - Coprii a ter Ck iti 


re se e in corso uno scambio di dati Ira 
computer e periferiche (regist nitore, 
floppy, stampante, penna III mimica ecc,}„ 
Se tutto ciò fornisce un risultato negativo 
va a controllare quanto tempo e passato 
dalla precedente interruzione e T a secon- 
da dei casi-, cancella o visualizza il cursore 
in modo da farlo lampeggiare e aggiorna 
TI!!! 

^^uando ad esempio facciamo girare 
un programma Basic la cui: durata di ela- 
borazione apparente è dì un solo minuto, 
la mutine di intemipt sarà stata interro- 
gala circa 36fltì volte 160 k 60), 


100 PRIMI PEEK(160)PEEK- 
(161)PEEK{162); GOTO 100 

Figura I 

uanto dello finora* benché, ce lo au- 
guriamo, sia interessante, può sembrare 
senza applicazioni pratiche dato che le 
locazioni di memoria che contengono Fin* 
dirizzo di IRQ sono io un blocco dì memo- 
ria ROM e quindi non alterabili da parte 
delfutente. Ciò è vero a livello dt archi- 
tettura del sistema A5XX, ma bisogna te- 
ner presente che la mutine di interrupt, 
tra le altre cose, salta ad eseguire, ad un 
dato punto, tuia routine il cui indirizzo di 
partenza è contenuto nelle due locazioni 
RAM 78S-789 fesadecimak = 0314-0315) 
sia per U Vk 20 che per il Commodore 64. 
Poiché la memoria RAM è alterabile da 
parte dell * utente, ne deriva che una ma- 
nipolazione delle due locazioni apre nuo- 
ve, straordinarie possibilità. 

Il diagramma di Busso di figura 2 do- 
vrebbe chiarire le idee su quanto detto 
finora. Si noti, tra l'altro, la nuova Istru- 
zione a tre bytes (6C LA HA) che viene 
così interpretata; 

Vai od eseguire la routine il cui indiriz- 
zo effettivo è contenuto nelle due locazio- 
ni che seguono fLA HA}* 

P rima di andare avanti con i consueti 
esempi pratici, parliamo di altre istruzio- 
ni in codice macchina che riguardano 
j’interrupt, iniziando da lSEI (SEt In ter- 
rupi) codice macchina 78 , Istruzione im- 

ComputerOub - 60 


plàcito ad un solo byte* Abbiamo detto che 
ogni sessantesimo di secondo il clock ge- 
nera un impulso che fa scattare la routine 
di inlemipt. Questa ha una durata infe- 
riore al sessantesimo di secondo Sfigura 
3 A) e quando restituisce il coninolo alla 
routine principale, il seguale presente al 
pin dell' I KQ è tale per cui effetti vametite 
il microprocesson? riprende a lavorare 
nel punto io cui aveva smesso al momento 
della richiesta dì interrupt. Supponiamo 
ora che la routine di inlemipt ( richiama- 
ta alF istante Tl di figura 4>, abbia una 
durata superiore al ciclo di clock: mentre 
la routine è in piena attività il micropro- 
cessore riceve sul pio interessato un nuo- 
vo segnale di interruzione aìristante T2> 
-Crederà-, dì conseguenza, che sia stata 
generata una seconda routine di inler- 
rupi e va ad eseguirla. Analoghi malfun- 
zionamenti si verificano se nel precìso 
istante del ritorno dalla routine, il segnale 
sut pin diventa attivo: si rischia* infatti, di 
far girare solo la routine di interrupt e 


mai quella * principale», 

S i presenta allora la necessita di ignora- 
re, in alcuni casi, la richiesta di interrupt. 
L’istruzione implicita ad un solo byte che 
consente tale possibilità è CLI* codice 
macchina SS, che viene cosi interpretata: 

A partire da questo istante ignora qual- 
siasi richiesta di interruzione che venga 
effettuata* 

bbìamo pertanto a dlsposì/kme quel- 
lo che in gergo viene chiamato Interrupt 
ma&cherabite. L 7 istruzione che consente 
di tener conto nuovamente della richiesta 
IRQ e NEL codice operativo 7B, implìcita 
anchessa. Essa viene cosi interpretata; 

A partire da questo Istante devi servire 
ogni nuova richiesta di IRQ. 

S i tenga ben presente la sostanziale dif- 
ferenza tra CLI ed RTI* la prima con- 
sente di tener conto di richieste IRQ: 
quando cioè il segnale adatto è presente al 




Ti 


II 


n 


T2 


T 3 




Duma teorica dp una raulrn d* 
ìnturrupt che uor può essere 
assurte in Quando d< durala 
superiore a TI e T2. 


FIG 3 


FIG.4 


USO* Sac. 


n 


fi 




GOCt 







1 

1 

t 

> 



L 


Tempo dedicato al orogramma principale. 
Tenne dedicato allo routine di interro pT. 


J1 


TI 


T2 


pìn, scatterà la rfiutiw il cui indirizzo di 
partenza è Ionizzato In EFFE ed EFFE 
Con RTF invece, tale routine termina ed 
ha un ritorno ai programma principale* 

edùurm ora un Applica za me pratica. 
Utilizzando un moni tur per linguaggio 
macchina oppure ti potente programma 
pubblicato in questo numero (1FER MO* 
MTOR) richiamate te memoria in modo 
da esaminare i valori contenuti nelle loca- 
zioni 7S^?B9 lesa 031441315). In queste 
noteremo ì > uteri 31 EX nel ( ommodore 
64 e i valori t decimali i 19 1 e 134 od Vie 
20* 

R ichuuniamo ora una /orni di memo- 
ria alterabile a piacere, come quella rela- 
tira ai buffer della cassetta (033C -03 FR I e 
digitiamo, a partire appunto da 0331.' ti 
programma che segue (ionvnodore 64): 

A9 oo 8D oo m A9 ou sr> oo i;m w. 

Laudando questo programma, da mo- 
nitor o da Basic mediante SYS 828, si 
noterà I Apparizione della chteccktiirui, in 
nera, nella prima locazione di schermo in 
alto a sinistra , Se però cancelliamo iJ vi- 
deo, col tasto fin Home, La chiocciolimi 
scompare l elementare,,.}. Richiamiamo 
ora le locazioni preeedeiHememe irascrit- 
te e DHdilkhiunole come segue: 

À9 00 8D ©tì 04 A9 0CI8D 00 DB 4C 3 1 EA 

Subito dopo chiediamo il contenuto 
delk locazioni di memoria 031441315 e 
modifichiamo il contenuto in modo che 
esso spunti * alia nostra routine _3C 03. 
Non appena battiamo il tasto Return ap- 
parirà la chiocciola nera in alto a sinistra. 
Provate ora a cancellare lo schermo col 
tacito Qr/tfocne; la chiocciohna e sempre 
ili alto e non viene cancellala con nessun 
mezzo? Che cosa e successo? 

Ogni sessantesimo di secondo it clock 
chiama la routine di ìnterrupt; ti Sistema 
Operativo, durante tate operazione, va ad 
eseguire anche una routine il cui indirizzo 
è contenuto in 03144)315 che da noi e 
slato modificato in G33C. Pertanto la rou- 
tine di Ìnterrupt, prima di andare ad ese- 
guire il - solito - giro che inizia a partire da 
EA31, è costretta a passare per la nostra 


routine che, come abbiamo visto, provve- 
de a visualizza rr La chiocciolina nera in 
alto a sinistra . 

I) tasta Clr/Home, pertanto, funziona 
perfettamente. Fa divenuta rotesisle nel 
fatto che un sessantesimo di secondo dopo 
che lo schermo viene cancellato, la eli ine- 
rmi in a viene ristampala nuovamente dal- 
la rietine di interrupt da noi modificata. 

Il lettore che desideri sperimentare la 
tecnica descritta tn questo articolo, tenga 
presente che e indispensabile provare 
dapprima La routine che si desidera inse- 
rire, come una normale routine in L.M. 
iche termina con RTS, 60), Solo in segui- 
lo, accertatone II funzionamento, sosti* 
mire 60 con 4C 31 EA e modificare i 
contenuti di 03144)315. Nel caso in cui si 
desideri modificare una routine già inse- 
rita è indispensabile: 

* Riscrivere in 03144)315 * valori 3 1 EA* 

• Modificare la nostra routine in modo 


che termini con KTS 160). 

• Sperimentare la nuova routine come 
una normale ri allineila |SYS.. J 

• Modificare 611 con 3 1 EA . 

• Modificare i contenuti di 03144)315 in 
modo che -puntino- alla nostra routine. 

on vi azzardate a modificare le Loca- 
zioni del vettore di ìnterrupt con dei sem- 
plici POKE o comunque da Basidi! 
Menine, infatti, rìsi razione POKE retati- 
va alla parte bassa dell 1 indirizzo viene 
eseguita, può arrivare al piu una richiesta 
dì interruzione che farebbe partire la 
routine con l'indirizzo modificato a 
metà... 

Si tenga ben presente che in ogni caso, 
premendo H un /Stop e Restorc, sì ottiene 
il ripristino dei valori originali del vettore 
di ImerrupU 

Alessandro de Si mone 

Computer Club -61 


$UQ 


InTERRUPT: 

Applicazk )\i Pratiche 



adiamo ora alcune applicazioni coi 
Commodore 64 che hanno il solo scopo di 
studiare il coiti portamento del micropro- 
cessore. Niente di male che* lavorando di 
fantasia, Il lettore «inventi- nuove possi- 
bilità per generare videogiochi o altre 
applicazioni. 

• Càtare. Facendo partire il programma 
vi accorgerete che ogni volta che premete 
urr tasto i colori del bordo e del fondo 
cambiano. 

• Sprite. Uno sprite colorato percorre il 
perìmetro dello schermo TV mentre gira- 
no altri programmi oppure mentre 
listate. 

• Suono Come per la prima routine, siilo 
che si ode un suono casuale tutte le volte 
che viene battuto un tasto. 

• Flash! ng. Questa c forse Tapptica/ioite 
più interessante. Come è noto alcuni com- 
puter hanno non solo La possibilità di far 
apparire dei messaggi in reverse, come i 
Commodore, ma anche lampeggianti 
(Hashing)* Con la routine pubblicata e 
possibile ottenere tale punibilità col 
Commodore 64, Se, ad esempio, volete 
far apparire lampeggiante il messaggio: 


QUESTA E* UNA PROVA 
digitate cosi: 

PR1NT CHR$U60> -QUESTA ir UNA 
PROVA” CURRI 60) 

Il carattere CHR$(160l rappresenta 
quello ottenibile premendo contempora- 
neamente il tasto ShJft e la barra spazia* 
Ilice. In altre parole, con la routine Ha- 
shing, appariranno Lampeggianti tutti i 
messaggi che iniziano e terminano con il 
carattere { 160). 

62 - Computer Club 


3 REM COLORE NELL 1 INTERRUPT 

4 REM BY MARIANI GIANCARLO 

5 REM VIALE BRIAMZA 72-20036 MEDA (MI) 

6 REM TEL- 0362/72565 

7 REM 

8 REM PER FERMARE i RUN STOP/RESTO RE 
3 REM 

10 A -48 152 i REM A INTERAMENTE R ILQCAB ILE 
£0 B=0!FORT*ATOA+£9i READC JPOKET,CiB*=B+C«NEKT 
30 IFB< >31 1 9THEMFR 1 NT * HERRORE NEI DATI n * END 
35 INT< A/256} i C»A~B*256 
40 PDKEA +£ /C+ 13 s P0KEA + 7 ✓ B 
45 SYSA 

1000 DATA 120 , IS9 , 13 , L41 , 20 
10B5 DATA 3 , 163 , 32 , 141 ,21 
1010 DATA 3 , 88 , 96 , 165 , 197 

1015 DATA 201 , 64 r 240 ,8 , 141 

1020 DATA 32 , 208 , 105 -, 1 , 14 1 

1025 DATA 33 , 208 , 76 , 49 , 234 

READY- 




13 REM* CONTIENE LA FREQUENZA * 

13 REM* DEL ERBEGGIO * 

1 5 REM* ************************ 

16 REM 

17 REM 

100 POKE56 , 139SCLR ; REM TOP MEMORY 
1 10 F OR T = 40704 T04083 1 : READA :H=H+A 
120 POKET,A:NEXT 

130 1FHK > 1 4 1 73THENPR I NT - ERRORE NEI DATA “ i END 

1000 DATA 169,0,- 133 ,2 , 120 , 1 63 / 17, 141 

1010 DA TA2&, 3, 169, 159, 141, 21,3,88 

1020 0ATA36, 165,8,201 ,5,208,22,236 

1030 DATA 167, 2 ,173, 167,2,205, 168,2 

1040 DATA208 ,74 ,162,0,142,168,2,134 

1050 OATA2,202 ,142,167,2,186,2,169 

1080 DATA96, 159 ,133,168,189,101,159,133 

1070 DATA 167 ,160,0,177,167,201 ,96,208 

1030 DATA9 , 173, 166 ,2, £4 , 105, 128,32 

1090 DATA 1 1 1 , 159, 173, 166 ,2 ,201 , 128,208 

1 100 DATA 7, 177, 167,24,105,123,145,167 

1! 10 DATA20D, 182,200,206,222,76, 106, 159 

1 120 DATA 4 ,4,5,6,7,0,200 , 144 

1 130 DATA89, 32, 230 ,2,76,43,234 ,141 

1 140 DATA 166, 2, 200, 96, 120,163,43,14! 

t 150 OATA20 ,3 , 169,234, 141 ,21 ,3,96 

1160 : 

1170 PR INTCHRSt 1B0 J " PROVA # CHR$< 1 60 ) • EhO 
READY* 


3 REM SPRITE NELL 1 INTERRUPT 

4 REM BY MARIANI GIANCARLO 

5 REM VIALE BRIANZA 72 

6 REM 20036 MEDA CMI> T* 0362/72565 

7 REM 

8 REM PER FERMARE : RUN STQP/RESTDRE 
S REM 

10 A=49 1 52 * REM A INTERAMENTE R l LOCAB ILE 
20 B-0 " FORT = ATOA + 133: READC : POKET ,C : B=S+C : NEXT 
30 1FB< > 1 7709THENPR I NT “M^RRORE NEI DATI * ! END 
35 B=INT< A/256) :C=A-B*25B 
40 POKEA + 35 , C +46 i POKE A + 40,8 
50 6YSA 

1000 DATA 169 , 0 , 133 , 252 , 133 

1005 DATA 251 , 169 , 255 , 162 , 0 

1010 DATA 157 , 132 , 2 , 232 , 224 


Computer Club * 63 



1015 

DATA 

63 

1020 

DRTA 

141 

1025 

DATA 

14 1 

1030 

DATA 

14 1 

1035 

DATA 

46 

1040 

DATA 

32 

1045 

DATA 

96 

1050 

DATA 

240 

1055 

DATA 

6 1 

1060 

DATA 

201 

1065 

DATA 

49 

1070 

DATA 

0 , 

1075 

DATA 

173 

1080 

DATA 

208 

1085 

DATA 

49 

1030 

DATA 

173 

1 095 

DATA 

£06 

t 100 

DATA 

49 

1 105 

DATA 

173 

1 1 10 

DATA 

208 

1 1 15 

DATA 

43 

1 120 

DATA 

173 

1 125 

DATA 

208 

I 130 

DATA 

252 

READY « 



, 208 , 248 
, £48 , 7 , 
, £1 , 208 
, 39 , 208 
, 14 1 , 20 , 

, 141 , 21 , 

, 165 , 252 
, 50 , 201 
,201 , 0 , 

, 1 , 240 , 

, 234 , 163 
208 , 238 , 
/ 1 , 208 , 

, £ , 230 , 

, 234 , £36 
, 0 , 208 -, 

, 2 , 230 -, 

, 234 , 208 
, 1 , £08 , 

, 2 , 230 , 

, 234 , 205 
, 0 , £09 , 

, 4 , 169 , 

, 76 , 48 , 


, 169 

, U 

189 

, 1 

, 163 

, 7 

, 120 

, 169 

3 , 

163 

3 , 

88 

, 201 

, 2 

, 3 , 

£40 

£40 , 

7 

23 , 

76 

, 30 

, 141 

1 , 

208 

£01 

, 224 

£52 

, 76 

, 0 , 

202 

£01 

, £54 

£ 5 £ 

, 76 

, 1 , 

20 B 

201 

, 55 

£ 5 £ 

, 76 

, 0 , 

£08 

£0 1 

, 32 

0 , 

133 

£34 



1 REM SUONO NELL MNTERRUFT 

2 REM GIANCARLO MARIANI 

3 REM V 1 RLE BRIANZA 7£ 

4 REM 20036 MEDA <MI) 

5 REM 

6 REM "B M INTERAMENTE RI LOG AB ILE 

7 REM 

B B = 49 1 52 * B 1=0 MB 

10 FOR K =0 TO 62= READ AlPDKE 8 +K , A 

20 X-X+A5MEXTI IF X <>7153 THEN PR J NT "ERRORE NEI DATA M ì 


30 B2= INT< B 1/256 > =B3=B 1 -B2 *256 
40 PDKE 25i,B3:P0KE £52, B2 
50 ? SYS B 

1000 DATA IBS, 10, 141 ,24,212 , 120, 165 ,251 , 14 I ,20,3 
1010 DATA 185,252, 141,21,3,88,36,165, 197,201 ,64 


1020 DATA 
1030 DATA 
1040 DATA 
1050 DATA 


240.36. 133.2. 169 .0. 141.4.212.343.5 
£12, 141 ,6,212 , 168 ,£5, 14 l ,5 ,212, 163,0 
141 ,6,218, 169 , 17, 141 ,4,212, 165,2 , 14 l 

1.212. 141 .0. 2 1£, 76 ,49, 334 


END 


READY, 


54 - Computer Club 



Didattica 



Linguaggio Macchina 

(TERZA PUNTATA) 


Finalmente il seguito deli' argomento iniziato nei numeri 6 e 8 dì Commodore Computer Club. 


o ra possiamo “scrivere 1 T un nomerò 
intero compreso tra -32768 e +32767. Ve- 
diamo ora come eseguire la somma fra 
due numeri decimali e (mi esatteti imalL 
Facendo Ih Mimma dell'esempio qui sotto 
riportato, notiamo che quando la somma 
di due cifre corrispondenti supera il mi* 
mero nove* dobbiamo considerare il ri- 
porlo nella successiva colonna (somma 

Ira 8 e 5; tra 6 e 4). 



Duci mal e 

E cader ima le 

1 1 Riporto 

* Ca r ry 

162SO + 

1 A03 + 

4250 » 

9B77 = 

20530 

857A 


^Sk mi) imamente avviene per due numeri esadecimali . solo che 
consideriamo il riporlo (piando la somma supera il numero ¥ 
\ 15); (esempio; somma fra A e H della figura sopra riporterai. 
Prima di conlinuare ricordiamo che, in inglese* riporto si i radu- 
re col termine CÀRRY, ed in segnilo lo chiameremo voi [ire iti 
questa maniera. Tra le istruitili in t..\1. del 6502 ve ne situi 
ben otto di somma tra due hyte. e ne esaminiamo ora una* 
Codice esadecimale 69: istruzione a due byte; codice mnemo- 
nico ADC* derivato da ADd, accumuldor immediate v*ith 
Curry- 
Esempio: 


nandù il mk ruprocnwore incontra questa istruzione, esv 
guc la somma tra il valore che si trova in quel momento nell ‘xn> 
culti latore, 1 numero esatteci male 72 e l'eventuale Carry. 

V ediamunra alcuni esempi: 


LM 

ASSEMBLER 


mib - START 

033 A 18 

CLC 

0338 A 9 02 

LDA# *2 

033 P 09 07 

A0C# #7 

033 f' B D 45 03 

Qui 

0342 60 

RTS 

£A 

NOF 

£ A 

NDF 

034& EA 

KQP 

EA 

= QUI 

EA 

HOP 

E A 

MOP 


LM : 69 72 

Asa : ADC* 572 


Computer Club 65 


Suo 


c 0 Ì4 



RKMarks 

03JA 18 Citar Carry fCLC) 

Istruzione ad uri solo byte, implicita, cioè non hi* bisogno dì 

indirizzi o di dati per b sua interpreta/ iurte. Questa istruzione 
cancella il Larry eventualmente pronte od registro della 
CPL . Ritorneremo in seguito su quella istruitone. 

TI33B A 9 02 LDÀ 2. Vedi numero * di Commodore Compu- 
ter Club, 

(1341 60 RTS Return sub moline, 

lstru/Jotii! 1 implicita anche questa: non Le bisógno di altre infoi 
inazioni per specificare il compito da svolgere, 

0342 EA...EA NOP No OPeretkm* 

T rascr ivbmo questo gruppo di EA perche in seguito sia piu 
semplice rintracciare sul video il risultato della somma. Per la 
cronaca EA e un’Lstnj/ione implicita che significa' ‘"Non esegui- 
re alcuna operazione"; al contrario di quanto possa sembrare e 
un'istruzione molto utile, come vedremo in seguito. Per far 
girare U programma battiamo di seguito; 

POR E 828,2: POKE 830 J: SYS :82M 
Utilizziamo un monitor, come l iper monitor pubblicalo in 
questo numero: 


Ruttiamo: M 033 A 034 A apparirà: 


-M 033A 03 4 A 

- D33A ìfi A9 02 69 07 SD 45 03 
0342 60 EA EA 09 EA EA EA „ 

X 

READY 


o ra, sia modificando il monitor, sia ricorrendo a POKE X28 
e POKE 830, modifichiamo il valore di 033C e di 033E e, 
ripetendo le operazioni precedenti, in (1345 comparirà sempre il 
risultato della somma, a meno che la somma dei due numeri 
caricati non superi il valore KK; infoili, consideriamo le seguenti 
somme esudecimali: 


■ - 

LK 4» 

r^v&ct? 

Infatti 

OC - U dee 

04 ^04 dee 

04 + \2 - 16 d*c, =i0ea, 


OC 

+ 

04 

= 10 

40 

* 

GA 

= 4A 

0B 

+ 

03 

= 0E 

*"C 

+ 

14 

= 10 

AB 

+ 

63 

« OE 


C 

ome si può notare* allo stesso risultalo si può arrivare anche 
sommando FC e 14, t ome facciamo ora a supere se il valore 
contenuto in D345 e il risultalo d» una somma inferiore o superio- 
re ad FT? A tale scopo consideriamo il registro rii stalo (ST i della 
( PI 65(12: esso e un particolare registro di sodici 1 hit, interno 
ni la € PI stessa, che memorizza diverse informa/ ioni 1 ra k q lui li 
il Larry. Il bit dell SI corrispondente al Larrv . % irne automati- 
rumente posto (settato) ad E se, dopo l'esecuzione di alcune 
istruzioni, ira k quali Ih somma, si supera il valore FÉ. Da quei 
momento esso non viene piu cancellato I rio* nettato o portalo a 
«h a nelle se, in seguito, si esegue una somma che non ha riporto. 

E 1 

L/ccn perchè la prima istruzione di una procedura di somma 
deve SEMPRE essere f’LC, che viene cosi interpretata: resetla 
il C urry che eventualmente e stato posto ad l da una operazione 
precedente. 


Miglioriamo ora il programma in L.M. visto e. per fare 
questo* esaminiamo un'altra istruzione di B RANCH l salto 
condizionato ): 

BL$: Brandi on (' Set lo 1 — Salta se il Curry è uguale ud E 

C 

od ice operai ivo: RQ w; dove xx rappresenta l'entità del 
salto, vedi pag. 49 numero 6 C,l ,C i RE Marte 034 C l 


0826 - STAR^ 

Q33A 10 

CLC 

A9 00 

LD A3? 

SD 52 03 

5TA R -PORTO 

A3 02 

LPA^ * 2 

69 07 

A D • 

SD 45 03 

STA 5 YTL SOMMA 

SO 01 

3CS + MODIFICA 

60 

RTS 

034A 

® MODIFICA 





LO A# # 1 

8D 52 03 

STA RIPORTO 

60 

RTS 

ea 

NOP 

■ * » ■ * i 

EA 

» Or » -■ 

* RIPORTO 

EA 

= BYTE SOMMA 

EA 

NOP 


REMarks 


A 9 00 

8D 52 03 - Queste due istruzioni scrivono 00 nella locazione 0352 


66 - Computer Club 



che servirà a visualizzare l'eventuale riporto, 

UH 0 1 - Se In somma appena eseguita supera iJ valore FK. il bit di 
Curry viene posto a I, e pertanto il salto di un byte è eseguito e 
Tclulmra/kme Contimm da 034 A. 

60 Se la somma eseguila non ha riporto, il Carrv rimane come 
prima, e cioè a 0 Ufr, ist, 033 A 18); si ritorna al BASII \ 

.40 01 

m 52 03 - Nella luca rione 6352 indicato in Assembler con 
RIPORTO, viene trascritto il valore GL 

I accia mo ora girare il programma nel solito modo (SYS 826 j , 
ricordando che i nuo vi ìndi rizzi deila PORLE sono 833 e 835. Se la 
somma eseguila avrà riporto ri meno lo noteremo dalla presenza 
« meno, di 01 in 0352, 

13 alo che ci siamo, commentiamo alcune righe del program- 
ma scritto in Assembler* 

826 - START - Comunica al programma Assembler* defi- 
nendola con il nome “START*’, la locuzione dalla quale il 
programma in L*M, deve essere allocato. U programma (As- 
sembler) automaticamente provvederci ad Incrementare gl* in- 
dirizzi per le successive istruzioni. Ciò significa che se, per 
esempio* vogliamo collocarlo nella memoria a partire dalla toca- 
zkine 0355. invece che dalla Q33A, sara sufficiente modificare 
solamente $0355 START; a modificare tutti gii indirizzi 
pruv vedere uuttmiat kamente I* Assembler» 

STA; RIPORTO- Memorizza il valore attuale {corrente I del- 
! 'arcui ni ato re nella I tic azione indicata in seguito con riporto, 
STA: BYTE SOMMA. Traderiscr iì valore corrente dell accu- 
lulatore nel byte definito in questo modo, 

BUS - MODIFICA. Se il Carry e uguale a 1,11 programmi 
continua dalla tocazkme indicala come “MODIFICA”. Atten- 
zione: l' Assembler elabora automaticamente Tentila dei salto, 
evitando noiosi calcoli, I vari nomi di fantasia* che facilitano 
nettamente la stesura di un programma* sono chiamati t V 
BELS (etichetta). 

ome si putì notare, il programma scritto in Assemhler e li 
gran lunga piu semplice da interpretare dell'L.M. Eseguiamo 
ora una somma di due numeri* ci alenilo dei quali occupa due 
byte. 


QecjmaJe 

2CEA + 

3221 = 

5MB 

U290 + 
14891 - 

Esatteci male lii 

26181 


In pratica, dobbiamo dapprima eseguire la somma tra gli 
ultimi due byte (K A — 1 IL trascrivere il risultato da qualche 


parte e tener presente l'eventuale Carry (nel caso specifico 
esiste). In seguilo, sommiamo i primi due byte fra loro e l'even- 
tuale Curry (20 “ 32 - 1), Il programma può essere il seguente: 

CLC 

LDÀ##SEA 
ADC## $21 
sta. lss 
LDA# # $ 2C 
ADC# «“$32 

STA. MSB 
RTS 

= LSB 
= ^SB 

I^ rima di eseguire la seconda sómma (LDA $21 - ADC — * 
432 1 NON bisogna inserire CLC* perche e necessario conside- 
rare il Carne, eventualmente presente in seguito alla prima 

somma. Il lettore, per esercizio* può modificare il programma 
inserendo una spia* per Te ventilale secondo riporto, come 
abbiamo fatto nel programmino precedente. Prima dì termina- 
re parliamo di un'altra istruzione implicita: SED ($Et Decimai 
mode), codice operati vu FU. Dall* istruzione successiva a SED le 
somme vengono eseguile in decimale anziché in ««decimale: F8 
e di notevole comodità, in molti casi: provate ad inserirla nei 
programmi precedenti prima di CLC o subito dopo. Attenzione 
però che, se il modo di operare è decimale e chiediamo di 
sommare valori esatteci mali, sì verificano degli errori. Per ripri- 
stinare in mudo esadecimale è necessario l'istruzione implicita 
CLD (CLeftr Decimai mode), codice operativo l)K; senza questo 
istruzione infatti La CPU continuerà sempre a ragionare in 
decimale. Consiglio a chi desidera sperimentare T istruzione 
SED, d i inserire 1)8 prima di ogni RTS per evitare maifunuonit- 
menti del Basic. 

1^ er concludere, a partire dalla locazione 0334* inserite il 
seguente programma e battere SYS(826)* dopo aver cancellato 
lo sc hermo. 


033A 

A2 

00 

SD 

4D 

03 

3D 

oc 

cu 

0342 

A9 

00 

90 

00 

DB 

E8 

E0 

18 

034 A 

□0 

FO 

60 

43 

4P 

4D 

4D 

4F 

0352 

44 

4F 

52 

45 

20 

43 

4F 

4D 

036A 

50 

55 

54 

45 

52 

20 

43 

4C 

0362 

55 

42 

20 

2A 

2A 

00 

00 

00 


D ato che contiene Istruzioni che non abbiamo ancora inccHn- 
tratq, lo commenteremo nella prossima puntola e non vi diciamo 
a cosa serve per incuriosirv i. IJ lettore tenga comunque presente 
che 034D coni iene l'inizio; da 034 11 a 036.- si può modificare il 
contenuto senza alcun pericolo.., che cosa aspettate a decifrare 
quest'ultimo frase? 

Alessandro de Simun c 

SEGUE 


Computer Club 67 


iao 




Precisazioni 


i 


due articoli sull* Assembler e linguug 
EÌi> macchina finora pubblicati ivedi 
CX.C. N, 6 0 8j erano riedizMirn di scritti 
precedenti. In tali articoli gli esempi cui si 
fa riferimento sono validi per i computer 
Commodore d ella serie 2000, 3000. 4000 
e MIMMI. Nonostante i ragionamenti se- 
guiti siano gli stessi anche per il Vie 20 e 
per il Commodore 64. i listati in Assem- 


bler e in L.M, pubblicati non postino 
girare su tali macchine. Infatti i listati cui 
si fa riferimento agiscono tutti suirareadi 
schermo. Si sa inóltre che mentre per i 
vecchi PET non è necessario colorare fa 
celta video, tale operazione risulta indi’ 
s pensabile per i modelli Vie 20 eCBM 64. 
In effetti gli adattamenti a questi compu- 
ter li avrebbero dovuti fare i lettori sia 
per esercitarsi sia per ^inventarsi” alcu- 
ne routine. Numerosi lettori, invece, ci 


hanno telefonato pregandoci di pubblica- 
re gli adattamenti per le macchine in loro 
possesso. 


p 


Hf non avendo alcuna difficolta ad 
accontentarli, ricordiamo che Ja padro- 
nanza di un settore cosi come il JLmjfcuag 
gin Macchina sì puh raggiungere a patto 
di lavorare con impegno da soli, realiz- 
zando adattamenti e non... chiedendoli 
alla Redazione delle riveste spegna lizzate. 


100 
1 10 
1 £0 
130 
140 
150 
160 
170 
180 
190 
£00 
£ 10 
££0 
£30 
240 
£50 
£60 
£70 


PIE INT"iJ5VS 8£6 FA APPARIRE IH ALTO u 
FRI NT * A SINISTRA SULLO SCHERMO DEL * 
PR I NT* GOMMO DORÈ 64 UN CARATTERE t X > 1 
PRINT-SELEZ IQMAB1LÈ CON dpOKE 8£7,X, 
PR I NT "COLORE ( Y > SELEZ lONAB I LE CON:" 
PR INTEGRE 832, Y w 
AD = 82 6 s AD^= " JUAlSOS^SYS 8£6 " 


i» 


READ A$: IF VAL* ASX0THENPR I NT w a" AD$: END 
X l =ASCt LEFT*< :X£^ASC< R IGHTSf A$ t 1) ) 

1FX1 >37THENXI = X 1 -55 : GOTDE20 
X 1 = X 1 -48 

IFXH >57 THENXS * KB -53 t GOTO240 
X2 = X2-48 

PQKE mO ,X1 *16+X£: AD=AD+ 1 : GOTO 180 

4' 

i 

DATA A9 ,FF ,8D,00 ,04 ,A3,0C,8D 
DATA 00,00,801. -1 


1 igura l. Rappresenta l’adattamento per il 
Coiti inodore f»4 dello schema di figmn Z pub- 
blicata sul n Mpag 47) ih t timmudwc Com- 
puter Club 


READY 


100 PR1NT J *JSYS 82G FA APPARIRE IN ALTO * 

110 P R I NT BJ A SINISTRA SULLO SCHERMO DEL* 

1 £0 PR ì NT "VIC £0 INESPANSO UN CARATTERE <X)" 

130 PR INT^SELEZ IONAB ILE CON tf^GKE 8S7 ,X- " 

140 PR I NT * COLORE ( Y> SELEZIONABILE CON: « 

150 PRINT w rOKE 83E,Y“ 

180 AD = 826 : AD^= p fflHHia5YS 8£6 “ 

170 S 

130 READ A$s |FVAL< A*>< 0THENPR INT^fl” AD* : ENO 

190 XI =ASCC LEFT^EC A* , 1 > > :X£=ASCC R IGHT$< A*, 1 > > figura l/A* Idem come figura I per Vie 2£> 

£00 IFX1 >57THENX 1 « X 1 -55 : GOTQE20 ìfiespanso. 

£10 X 1 = X 1 "48 

££0 IFX2>57THENX£= X2-55 ! GOTOE40 
£3© X£= XS-40 

240 POKE AD ,X 1 * 1 B+X£ * AD ®AD+ 1 * GOTO 180 
£50 * 

£G0 DATA A3 , FF , 8D , 00 , 1 E , A3 , 0C ,80 
£70 DATA 00,86,80, -I 

READY . 


68 - Computer Gfute 



iae 
1 10 
120 
130 

140 

150 

100 

170 

180 

130 


PFlMT“^rS 826 RIEMPE LO SCHERMO DEL" 
FF I NT "COMMODORE 64 ISTANTANEAMENTE 
PR1NT "RIPETENDO UN CARATTERE CX>" 


PRtNT “SELEZ 10NAB ILE CON S^OKE 047, X" 
PR INT "COLORE (Y) SELEZIONABILE CON! * 
PFINT'^OKE 852, Y" 

AD =826 : A P*=’“ SÈiSISl*; YS 8£6 " 


4 

* 


PEPO fiif IFVflLC RSX0THENFR I NT * S" AD* s END 
XI = A5C< LEFT£< H*, i > > SCX R IGHT^C A$,1)J 


800 
E 10 
£80 
£30 
840 
£50 
860 
870 
£80 
£90 
38P 
310 
T “0 


1FX 1 : 57THENX i = X i -55 ! G0T088B 
X 1 = X 1 *48 

1FX8 >57THEKX8= X£ -55 ; GQTO840 
X£^ XE-48 

POKE AD ,X 1 * 16^X8 = 1 • GOTO 180 

4 

■ 

DATA A9 ,04 ,80 ,32 ,03, A3, 00, 8D 
DATA 5 1 ,03 , A3 ,00,80 ,56 ,03 , A3 
DATA 08,80,57, 03, A9, FF ,8D, 00 
DATA C7 ,A9 ,0C ,80 ,00 ,0B ,EE ,5 1 
DATA 03 ,EE ,56 ,03,OS,EE ,EE ,52 
DATA 03, EE ,57 ,03, AD, 55 ,03 ,C9 
DATA 0S, CO, E 1,60, -1 




Figiini 2- Adattamento per Commodore M 
dello schema eh figuri! 3 dello stesso mi mero 


READY - 


100 
1 10 
1E0 
130 
140 
150 
160 
170 
1E0 
130 
£00 
£10 
£aC 
£30 
840 
£50 
£60 
870 
890 
£90 
300 
3 10 
380 


PRINT'YJSYS S£S RIEMPE LO SCHERMO DEL 1 * 

FRI NT "VI C £0 INESPBNSU l S THNTftfsEH MENTE 
P R I NT * R IRETE ND 0 UN CARATTERE C X ) ” 

PR I NT m SELE Z 1 QNfìB I LE CON ^'OKE 84 7, X" 

PR INT^COLORE ( Y) SELEZIONABILE CONì 11 
PR INT*fiFOKE 858 7 Y 1f 

= 9 2S ~ AD* - m H&IH£i£ YS 8£6 M 

rii 

« 

READ A*! IFVALC A* X 0THENPR 1 NT “ a" AD* : END 

X 1 = ASCé LEFT*C A*, 1 > ) :X2=ASCC R IGHT$< A*. 1 ) ) 
IFX 1 >57THENX 1 = X 1 -55 : GOTO220 

XI = XI -48 

! FX2 >57TH£NX2 = XE-55 s GOTO240 
K2* X2-49 

POKE AD ,X 1 * 16 + X2 t AD = AD+ 1 : GOTO 180 

M 

DATA A3, IE, 30,52, 03, A3, 00, 8D 
DATA 5 l ,03 ,A9 ,00,80 ,56 ,33 ,A9 
DATA 36 , SD, 57 ,03 , A3 ,FF ,80,00 
DATA 1E , A3 ,0C,8O,09 ,96 ,EE , SI 
DATA 03 , EE ,56 ,03 , 00 , EE , EE , 52 
DATA 03 ,EE , 57 , 83 , AD , 52 , B3 ,09 
DATA 20, 00, E 1,60, -1 


Figura 2/ V Idem tome Jìgur.i 2 per Vie 20 
inespanso. 


READY. 


Compiile! Club - 69 


Suo 



C OM 



100 
1 10 
120 
130 
140 
150 
180 

1 70 
180 
190 
200 

2 10 
220 
£30 
240 
250 
2 S 0 
270 
290 
230 
300 
310 
320 
330 
340 
350 

:ri 


PR J NT 11 *^5 YS 326 FA APPARIRE NELLA" 

PR1 NT "PRIMA RIGA 01 SCHERMO DEL 64" 
FRI NT "UN MESSAGGIO IL CUI CONTENUTO" 
PR 1 NT tP E 1 LUNGO 40 CARATTERI ALLOCATI * 
PR I NT "DALLA LOCAZIONE 845 IN PO I * rt 
FRI NT " COLORE OO S£LEZ 1 QNftB I LE CON!" 
PR 1 NT M yOKE 835 /K" 


ft 0=826 ! rt 


YS 826 11 


READ A^: IFVALC ASO< 0THEN PRINT AD*s ENO 
NI =ASC< LEFT$< iXE = ASCC RIGHT3* A*, 1 ) > 

IFX1 >57THENXl= X 1 -55 i GQ TO240 
XI- X 1-48 

I FX2 >57THENX2 = X£ -55 s GGTO2B0 
X2= X2-48 

POKE AD ,K 1 *16+X£* AD=AD+I * G0TO200 

«i 

* 

DATA A2,00,BD,4D, 03, 90,00,04 
DATA A3 ,0C ,30,00 ,O8,E8,E0,28 
DATA 00 ,F0 , 60 , 2 A , 2 A , 2 A ,2A , 2fì 
DATA 2A , 2A , 20 , 03 , 0F , 0D , 0D , 0F 
DATA 04 , 0F ,12 ,85,20 , 03 ,0F ,00 
DATA 10, 15, 14,05, 12 ,20 ,03, 0C 
DATA 15,02,20 ,2A ,2A ,2 A, 2 A ,£A 
DATA 2A,£A,2A, -1 


Figura 3, La , sorpresa di questa puntala. 


100 
1 10 
120 
130 
140 
ì 50 
1 80 
170 
180 
180 
200 
£10 
£20 
230 
£40 
£50 
£80 
270 
£80 
290 
300 
320 
330 
340 


PR I NT 11 iJ@YS 826 FA APPARIRE NELLA" 

PRINT "PRIMA RIGA DI SCHERMO DEL VIC 20 IKtSPANSG" 
PR 1 NT ** UN MESSAGGIO IL CUI CONTENUTO" 

PR I NT " E 1 LUNGO 40 CARATTERI ALLOCATI" 

PRINT" DALLA LOCAZIONE 845 IN POI." 

FR UNICOLORE <X; SELE2 iONAEJ ILE CON!" 

PR INT" flPQKE S35,X" 


AO-826 * RD* ! 


TS 8£6 


READ A$! IFVALt A*X0THEN PRINT AO*:END 
X1=ASCC LEFm A*, ì > M X2 = ASC< R I GHT*< A* , 1 ) > 
I FX 1 >57TH£NX 1 » X 1 -55 ! GOTO240 
Xl= X 1 -43 

1FX2>57THENX2= X2 -53 ! GOTO2S0 
X£ * XE-43 

POKE AD,X 1 *16+X£t AP*AD+ 1 i 6OTO200 

m 

■ 

DATA A£ ,00, BD, 40 ,03,30,00, 1E 
DATA A3 ,0C ,3D ,00 ,96 ,EB ,E0 ,18 
DATA D0,FS,60,03,0F ,0D,0D,0F 
DATA 04 ,0F , 12 ,05 ,20 ,03 ,0F ,00 
DATA 10,15, 14 ,05 ,12 ,20 , 03 , 0C 
DATA 15,02,20, -I 


Figura 3/À. Come figura 3 per il Vie 20. 


READY, 


70 - Computer Out 



File Relativi 


1 4 i menzione di questo articolo e quel- 
In di rendere chiaro a chi, o vuoi per 
mancanza di letteratura specifica o vuoi 
per la stringatezza dei manuali che solita' 
mente accompagnano il IBM 64 e perire' 
riche annesse, non ha avuto modo di po- 
tersi avvicinare alla struttura /ione dei file 
relativi, trattati dal DOS del CHM *4 e 
alla program inazione di routine die im- 
plementino le istruzioni inerenti alla ge- 
stione dei file lo archivi) relativi. 

I miriamo innanzitutto col dire che un 
file è una struttura dì in forni a/ ioni di 
natura alfanumerica immagazzinata nel- 
la memoria di massa dì un elaboratore, 
(generai mente supporti magnetici come 
ad esempio, nastri o dischi!. 11 Singolo 
elemento del file viene denominato re* 
cord, a sua volta il record può essere divi' 
so ìn piu parti elementari chiamati campi, 
(se non avete ancora le idee confuse, il 
singolo campo può essere diviso in sotto- 
campi ). 

ita pilotando, il nostro file e un aggre- 
gato di record, il record e un aggregato di 
campi, pertanto, se consideriamo il no- 
stro file come un insieme, i record sono i 
sottoinsiemi appartenenti al file ed i cani' 
pi i singoli elementi del record. 








fimi» 1 

rampo J 

■» ■ ■■ 

campo n 

KtroH 


f 1 aeriamo un esempio concreto jwr 
consolidare ciò che abbiamo appresi* situi 
ad ora. 

Consideriamo l'esempio ormai classico 
della rubrica telefonica, II file sarà quindi 
La rubrica ed «SO conterrà le informazio- 
ni che possono essere; cognome, nome, 
indirizzo, CAP, citta e telefono. Il record 
sarà cosi composto: 


Record 


«tfjnomr 

nome 

IwHi-tDM 

i ap 

filli 

ikMmo 

t ampn l 

campo 2 



u 

...europei fe 


asciamo ora a descrivere come tali 
archivi vengono memorizzati sui dischetti 
magnetici. Oramai tutti sanno che un di- 
schetto e composto da tante tracce con- 
centriche t J5. nel caso dei dischetti utiliz- 
zati dal CRM 64) ed ogni traccia e suddi- 
visa in settori. Consideriamo una traccia 
rettificata; 


b*TKVOt 

fUoctti 2 


blocco 0 


O gni settore prende U nome di Noceti e 


v iene individualo da 2 pararne! ri, Nume- 
ro della traccia c numero del settore. I n 
blocco e composto da 256 byte ma usando 
gli archivi relativi, un singolo biacco pilo 
con le nere al massimo 254 byte di infot % 
inazioni* gli altri 2 servimi» al DOS per 
conoscere f indirizzo del prossimo blocco 
dati (traccia e settore), \ediamo ora di 
capire che differenza sussiste fra it record 
logico e il record fisico, Issiamo consi de 
rare tome record logico il record poc'anzi 
visto. costituito da cognome, nome, ecc, , 
e* come esso, ogni altro tipo di record che 
piu ci aggrada. In definitivu il record logi- 
co viene creato dal programmatore. Si 
definisce reccifd fisico La piu piccola 
quantità di informazioni che può essere 
passata dalla periferica all’elaboratore o 
viceversa, 

j^Jel nostro case il record fisico è pro- 
prio il famigerato blocco. Il DOS, infiliti, 
scrive nel BliHR dì I/O rifilerò conte- 
nulo del blocco: saremo noi a prelevare la 
quantità dì dati che interessa. Cosicché in 
un blocco si potranno scrìvere più record 
logici od un rmurd logico avente lunghez- 
za pari al record fisico steiìso. \ questo 
punto e bene capire come mai il massimo 
di numeri caratteri che pun contenere un 
singolo record logico di un file relativo sìa 
254, t vedremo in seguito come superare 
questa limitazione ,i. Poco fa abbiamo ac- 
cennato ai Rt FFER di I/O* Essi non sono 
altro che una zona di memoria RAM. 
interna al 1541, di lunghezza pari a 256 
byte ognuno. Servono per memori/, /.are 
temporaneamente ■ dati che transitami 
da il Elabora ture al drive e viceversa iPri 
struzioiie OPEN fa si che venga assegnato 
un RI t'TER di I/O al file aperto). 

Computer Club -71 


5BO 



]P er creare un File relativo occorre come 
prima operazione» definire La lunghezza 
def record {logico»; supponiamo d* avere 

Ja nostra agenda telefonica con i seguenti 
campi: 


poterci scrivere o leggere si useranno le 
conosciute istruzioni LNPL (’ f t PRLMif 
e GET#* Per aprire ul file relativo già 
esistente La sintassi del cornando OPEN e 
ancor» più semplice: 


CURSiHI). Valgono le seguenti 
formulette: 

HI INT(nr, RECORD/256); 

LO := nr, RECORD - Iir2S6; 


cognome 

caratteri := 20 (campo 1) 

nome 

caratteri := IO (campo 2 1 

indirizzo 

caratteri ;= 25 (campo 3) 

C.À.P. 

caratteri ;= 5 (campo 4» 

città 

caratteri := 20 (campo 5) 

telefono 

caratteri:— 12 (campo 6) 

TOTALE 

caratteri : = 92 (record ! 


o gnl campo dovrà essere fisicamente 
separato dall'altro interponendo fra di 
essi un CARRI AG E RETURN 
lchr$(13)), quindi, nel conteggio totale 
dei caratteri del record dovranno essere 
sommati i riiftt 13), uno per campo, Il 
nostro record sara lungo 924-6—98 carat- 
teri. Esaminiamo adesso la sintassi del 
comando di apertura di un file relativo: 


OPEN FLtDIiCL v '*NOME FILE" 

differenza dei file sequenziali, in un 
file relativo, una volta aperto, vi ci si può 
indifferentemente leggere o scrivere ed in 
qualsiasi suo punto. Facciamo ora cono* 
setm/a con i SIDE SECTOR: 

Sappiamo che un file è un aggregato di 
record logici. Ogni record interno al File 
può essere individuato da un proprio nu- 
mero d'ordine o indice posizionale, Cia- 
scun record logico verrà scritto in blocco 
di memoria di massa, ma il blocco è indi- 
vidualo da 2 parametri. Sarà quindi 11 
DOS a stabilire la corrispondenza, (biu- 
nivoca 1, tramile i SIDE SECTOK. fra il 
numero del record e relativo indirizzo 
fisico di memorizzazione. In un blocco 
possono entrarci anche più di un record 
logico (ricordale?) quindi tl IH)S terra 
conio anche di record spezzati su 2 
blocchi. 


CHR$( PU NT ÀTOR E) punta al carattere 
del record. 

M citiamo in pratica quanto e stato 
detto sino ad ora. 

Approfittando dell’occasione vediamo di 
crearci qualcosa di utile. Rubriche telefo- 
niche ce ne sono troppe e un data base è 
un pochetti no difficile dì primo acchito. 
Potremmo costruire un archivio che me- 
morizzi le prave HARDWARE apparse 
iulle riviste italiane, cosi evitiamo di met* 
ìere ogni volta a soqquadro la nostra li- 
breria nel tentativo di riuscire a trovare 
quanto cercato. Il nostro record avrà 
dunque il seguente tracciato: 


titolo artìcolo caratteri := 30 

nome rivista caratteri : = 20 

numero rivista caratteri 3 


OPEN EL.I>lXL,"NOME 
EILEX,' +CHRSI LI NGH.REC.) 

EL : = numero del File logico (da J a 
127); 

Df : = numero del dispositivo, norma!- 
mente fi; 

Cl, := numero del canale, (pud awu- 
mere i valori dà 2 a 14 1 ; 

NOME FILE e ovviamente il nome 

del file; 

,L, ;= indica che il file e di tipo relativo: 

IHRS(LI N) := e la lunghezza in carat- 
teri del record, (compresi i chrti 13)). 


a. SIDE SECTOR sono fisicamente dei 
blocchi di memoria di massa che coiiten* 
gono sia ['indirizzo di altri SIDE SEC* 
XOR che l'indirizzo dì inizio di 120 blue* 
chi di dati. Ciò vuol dire che associati ad 
un file con piu di 120 blocchi ci sono piu di 
1 SUI E SECTOR e possono essertene fi- 
no a 6, (che equivalgono a 720 blocchi di 
dati. E' chiaro che se ne potranno utiliz- 
zare solamente 65fL 664 blocchi Uberi - 6 
SIDE SEf TORI. Per passare al DOS il 
mimerò del record esiste una istruzione 
apposita: 


TOTALE caratteri 53 

numero CHR$( 1 J) ;= 3 

TOTALE caranerl^;— 56 


ÌVf 

A v E orale: abbiamo creato il nost ro flk t 
ed il DOS ha predisposto in memoria lo 
spazio sufficiente per 256 record (lìnea 
250 k In seguito, questo spazio potrà 
anche essere espanso. ( Figura 2) 

li e ne: abbiamo concluso il program- 
ma» esso chiaramente ha moltissimi 
limiti. 

Il primo è quello che bisogna ricordarsi il 
numero dei record prima di cercarlo ma. 
credo che riuscirete da soli a creare una 
chiave di ricerca con 2 vettori. 1 per la 
chiave ed I per tl numero del record 
corrispondente. 

N.B. (/istruzione “PRINT #" ‘non può 
essere abbreviata con 4 *?’\ 


Dal momento che viene eseguito 11 co* 
mando OPEN, il DOS annoterà nella di- 
rectory il nome del file specificando che è 
di tipo relativo. La traccia ed il settore di 
inizio del primo blocco di dati» la lunghez- 
za del record, l'indirizzo del primo SIDE 
SECTOR (vedremo dopo cos*è> ed altre 
cosucce che per ora non ci riguardano . 
Una volta che U file e organizzato, per 


PRU^T^ f FL» 4 *F ,, CHR$(CANÀLE)CHR 
$( LOK T IR ti HI )C HK$( PUNTATORE ) 

O 

uestu comando va inviato al canale 
comandi pertanto occorre prima scrivere 
OPEN ET, JL 15. Dato che i record posso- 
no essere più di 256 non Inasta un byte per 
individuare un record, occorrono quindi 
2 byte ed e per questo che nella sintassi del 
comando troviamo CTfRS(LO) e 


72 * Computer Club 



100 REM **** UTILIZZO Ut L FILE RELATIVE *** + 

110 REM **** DI NO hE HARD - TEST **** 

120 : 

130 FRI NT * hJI NKER I SC 1 IL DISCO CONTENENTE 
140 PR1NT-IL FILE HARD -TEST E PREMI UN TASTO" 

150 SET IF X** " * THEN 150 

160 OPEN 2 ,B,E, 11 HARD -TEST" 

170 OEF FN AOO = INTC X/S56 > 5 REM NUMERO RECORD HI 
130 DEF FN B< Y?=Y-Hi*256 ! REM NUFERO RECORD LO 

I 00 OPEN 1,0,15 
200 : 

210 REM MENU PRINCIPALE 
220 : 

230 PR1NT"*JHS| MENU 4 ' 

240 PR INTIME» t 1 ] - FINE LAVORO * 

250 PR I NT 41 flH t 2 I - LETTURA FILE" 

260 PR I NT " liti 131 - SCRITTURA FILE" 

£7© PR INT" SCEGLI " ; 

280 IMPUTA: IF A >3 OR A< 1 THEN 280 
£80 ON A GOTO 320,360,490 
300 : 

310 REM CHIUSURA LAVORO 
3£0 CLOSE £: CLOSE 1= END 

3 30 : 

340 REM LETTURA RECORD 

350 : 

3S0 PR INT VJflttM " i INPUT "NUMERO DEL RECORD ! = “ ; NR 
370 IF NR >256 OR NR< 1 THEN 360 
390 H I “FN A<MO=LO=FN BC NR ) 

380 PR INTM I , "P"CHR$< 2 JCHR^< LO >CHR^ H I >CHR^ 1 ) i GOSUB650 
400 INPUT#2,F 1* r F2$,F3$iGOSUB650 

4 10 PRINT u |mriOhE ARTICOLO > "!FL$ 

4 20 PR I NT " BINO ME RIVISTA > ";F£* 

430 PR 1 NT "U^UM * RIVISTA > *;F3$ 

440 INPUT "ÌISI5FREMI a< RETURN >5"; AA 
450 GOTO 230 

460 i 

470 REM SCRITTURA RECORD 
480 : 

480 INPUT" . JgUttMM U MERO DEL RECORD S = " J NR 
500 H1=FN A<Ff^>:LO =FN B< NR > 

5 10 PRINTtt 1 , "P"CHRS< 2 JCHR2* LO>CHRS< HI >CHRSC 1 > ? GQSUBG50 

520 INPUT "aSMHHWJCME ARTICOLO > “JF1S 

530 IF LEM <F1*>>30 THEN 520 

540 INPUT *«140ME RIVISTA ---> ";F2^ 

550 IF LEN <F2*?>20 THEN 540 

560 INPUT "BNUM. RIVISTA > ";F3* 

570 IF LEN (F3$?>3 THEN 560 

580 I NFUT n IMft /UQ I CORREGGERE <$SN> m ì Y* 

590 IF YT - 41 S “ THEN520 


Computer Club - 73 



800 PR INT#2,F 1S;CHR3K I3>;F2$;C 1 3 > J F3* = GQSUB650 
810 GOTO 230 
620 * 

630 REM CONTROLLO ERRORE DI INPUT DA DISCO 
840 t 

850 INPUT# 1 ,A ,C 

860 IF A*0 OR A -50 THEN RETURN 

670 PR J NT Pi, A* 

890 PR INTUITINE PROGRAMMA PER ERRORE " 

690 CLOSE 2: CLOSE I 

READY, 


100 
1 10 
120 
130 
140 
150 
160 


REM ***** FILE RELATIVI ***** 


j 

REM 

REM 

REM 

REM 


***** CREAZIONE DI UNO SPAZIO**** 
***** SU DISCO ALLO SCOPO DI **** 
***** ' OSPITARE IN SEGUITO **** 
***** 256 RECORO LUNGHI 56 B * * * * * 


170 i 

160 REM CREAZIONE DI UNA STRINGA - CODICE 
ISO FDR 1^1 TO 55 2 NEKT 

280 OEF FNAC X ) = I NTC X/256 ? i REM CALCOLO DI HI 
SIO DEF FNB{ Y ) a Y**H I *256 : REM CALCOLO DI LO 

220 OPEN 1,8, 15! REM APERTURA CANALE COMANDI 
230 REM LUNGHEZZA RECORD ^56 COMPRESI CHRS< 13 > 
240 OPEN 2 , 8 , 2 , "HARD-TEST ,L, "+CHR*< 56 > 

250 POR 1*256 TO I STEP-li H I = F NA C I> = LO = F NB ( I ■ 

260 FR I NT# 1 , " P " CHR$< 2 >CHRS< LO>CHR*< H I >CHRSt 1 ) 

870 PRINTK2, CA$s GQSUB 300 

280 PRINT "RECORD N," Is NEKT 

230 CLOSE li CLOSE 2i END 

300 I fPUTK 1 ,A ,C 

3 ì 0 IF A =0 OR A -50 THEN RETURN 

320 PRINT A,A$ 

330 PRINT-aiL PROGRAMMA TERMINA IN ERRORE* ? END 


READY, 


74 - Computer Qub 


Commodore 64 


Il Gioco del 15 



v 



Simulazione del solitario 
dei vecchi tempi . 


kJ ui ritiro appare, se avete trascritto 
tutto correttamente, una griglia dì 4 x 4 
caselle, quìndici delle quali contcn^m], 
appunto, casualmente i numeri da I a 15, 
Il gioco consiste nello spostare le tessere 
fino a che non sono ordinate come nei 
REM delle righe da 170 a 230, 


m-^i sufficiente indicare il valore della 
tessera che si desidera spostare nel punto 
vuoto. 


Vito Ascoii - Napoli 


100 

REM 

********************************* 


1 10 

REM 

*** GIOCO DEL 15 PER C 84 *** 


180 

REM 

t** DI ASCOL I VITD *** 


130 

REM 

*** Viri ENRICO RUTA 1 *** 


1 140 

REM 

*** NAPOLI TEL » OS1/41E507 *** 


150 

REM 

********************************* 


160 

* 

■ 



170 

REM 

E * NECESSARIO ORO INARE LE 


LS0 

REM 

CASELLE PEL MODO SEGUENTE i 


190 

« 



800 

REM 

15 3 13 


8 10 

REM 

8 6 10 14 


880 

REM 

3 7 11 15 



Computar Oub * 75 


330 REM 4 S i£ 

340 ; 


360 

370 

£80 

£90 


PRINTCHF*< 3 ) *DIMNC 4 ,4 > 


K^«: 3}~ 


I" 1X*( 4 > 


* 

* 


300 REM +* STAMPA DEL QUADRO Di GIOCO ** 

330 PRINT-LOS 

330 PRINT™ A GIOCO DEL QUINDICI B 

330 PRirsTr” — ££" 

340 PR 1MTSPCC U >“ « 1 r — — j 1 * 

350 FOR 1 = 1T04 : PRIMTSPCC 1 1 > 

360 FQRJ* I T04 i PR INT" \ "}ìf^XT 
370 PR INI 1 | " 

330 PRINTSPCC i 1 > *• | [ \ 1 |" 

330 NEXT 

400 PRINTSPCC 1 1 > "O 1 1 1 1 — — 1+1 

410 MOSSE = 1 

430 REM: PROVA* K = I : FORI = 1 TQ4 ; POR I T04 : NC J , I ) =K 
430 REM NC J , X > =K J K “K + 1 * NE XTJ , 1 1 N( 4 , 4 ? = 0 
440 : 

450 REM ** INIZIALIZZAZ IONE CASUALE ** 

460 FORK = 1 TQ \ 5 

470 I e INTC RfCK I > *4 + 1 > : J-ÌNTC RNDC 1 > *4 + I > 

4S0 IFNC 1 ,J )< >0THEN4 70 
490 N< I , J ) =K 
500 T'tXTK 


510 : 

5£0 GOSUB 1060: REM POSIZIONAMENTO NUMERI 
530 : 

540 REM ** RICHIESTA N-MA MOSSA ** 

550 PRINT H Sma (— , ■ 

560 PRIMT* | BATTI LA TUA MOSSA N * “ ; MOSSE : PR I NT " Q" SPCC 33 > " i “ 

570 FRI NT " 1 * 

580 INPUT* H ; M$:MfiVALC M^> 

590 REM ** SOLO NUMERI TRA I E 15 **+ 

600 IFM >0ANDM< J6THEN630 
610 PR I NT "O 

6£0 PR INT' Trrr SFC't S > - a SOLO NUf«RJ DA I A 15 1 * 

630 FORT* ITO 100B : NEXT 
640 PR 1 NT "tnxm]" : GOTO 550 
650 : 

666 I 

670 REM ** ALGORITMO CENTRALE * * 

680 FOR I ■ 1T04:F0RJ=1T04 : IFN< I , J ) a MTHEN700 
630 NEXTJ,I 

700 11=1+1 S JJ = J : GOSUB370 ì IFF=1THENB£0 
710 I 1*1- 1 I JJ= J : OOSUB970 : I FF = I TMEN880 
7E0 I I » I * JJ =J+ 1 » GQSUB970 ! IFF=XTHEN820 
730 1 1 = 1 * : GOSUB970 i IFF=1THEN8£0 


76 - Computer Club 







740 : 

750 REM ** MOSSA NON LECITA ** 

7S0 PR I NT “ □ M 

770 PR I NT " CHI" SPC( Sì * £ MOSSA NON LECITA ■ 

780 FORT = 1 TOE000 ? NEXT 
790 PR INT TTI 1 1 I II '* ; GQTQ550 
B00 ; 

810 REM** ESECUZIONE MOSSA RICHIESTA ** 

820 NK I , J>=0:NC 31 , J J ) «Mi MOSSE “MOSSE ♦ 1 

830 !FM< 3 # 4 > » 1 5ANDN< E J 4> = 14ANDNC 1 ,4) ù 13THEN850 

640 30X0910 

850 I F N< 4,3)“ 1 EANONt 3 ,3> = 1 lAhDNC £,3)-10ANDN< I , 3 ) =3TH£N©70 
660 GOTOB10 

670 IFfSK 4 ,2>=8ANDNC 3 f 2>=7AN0N< £ ,S > = 6ANDNC 1 ,2>^5THEN890 
880 GOTO910 

890 IFNK 4 ^ 1 >=4AN0NC 3, 1 >=3ANON< E , 1 ?*EAM3N< 1 , l > * 1 THENi 160 
900 REM ********* VITTORIA *********** 

910 PR INT*a“ t SOSUB 1060 

SE0 PRINT* BKESKDffl®J*SPC< 1 1 > " CIIIIIIIT 1 e GQTO550 

930 » 

94 0 : 

950 REM ** CONTROLLO LICEITÀ" MOSSA ** 

960 REM ** < SE F= 1 MOSSA CONSENTITA) ** 

870 F =0 

980 IF I K lOR 1 1 >40RJJC 1 OR J J >4THEN10i0 
990 1 FNt I I , JJ X >0THENI0 10 
1000 F®1 
1010 RETURN 
1020 * 

£ 030 t 

1040 REM ** POS IZ IQNAMENTO DEI NUMERI ** 

1050 REM ** NELLE RISPETTIVE CASELLE ** 

1060 PRIMT w afflDttÌ B :FDR 1 = 1TQ4 SPRINT 
1070 FQRJ=1T04 

1080 IFH< I , J ) =0THENPR 1NTX*< J ) " " sGOTOl 100 

1090 PRINTX*< JP/FK I , J> 

1100 NEXTJ 
i 1 10 l^CXT I 
1IE0 RETURN 

I 130 * 

1140 ! 

II 50 REM ** FINE DEL GIOCO #* 

1160 GOSUB10G0 

1170 PR iNT M 5KBCM j a HAI VINTO IN" ; MOSSE "Il MOSSE ■" 

1180 PR INTIMI VUOI GIOCARE ANCORA? <SSN>* 

1190 GETA*i IFA*= * “THEN1 190 
1E00 I F A$ s "N n THE NPR 1 NT " *END 
1 E 1 0 IFA3K >“S"THEN1 £90 

1E20 FOR I - 1TG4 J FGRJMT04 i Nt I , J ) -0 - NEXTJ i NEXT I - G0T03 10 
READY* 




Computer Club - 77 



Commodore 64 


Space Defender 


100 REM + * SPACE -DEFENDER PER CBM 64 ** 

113 REM **■ JOHN CERESI , VIA MAZ2IN1 ** 

120 REI i ** 18016 Sr BARTOLOMEO AL MARE ** 

130 REM ** TEL. 0133/400030 ** 

140 : 

15B TS=B : 0=54£7£ : T»=0 : JO*0 

160 DEFFMR< X>«1 144+40*< INT< RND< 0>*£0> ) :GOTG700 
170 PRINT" J" ! P0KE5328 1 , 3 2 : N= 1 464 i F =55736 s SC =0 : D=5 
180 PRlNT '&Jd ■" 1 PR lMT''ayUNTEGG IO s "JSC 

130 POKEN.30 

300 I =FNR( X> i J*FMR< X> : K =FNR( X > :H=FNR< XI 
£10 1FH= rORH»JORH<=KOR 1 = JORJ =KTHEN200 
£20 POKEH ,63 tPCKE I ,42 ’ POKE J ,60 ! PGKEK ,42 
£30 REM ** INPUT TASTIERA** 

£40 JFJOM00THEN1 100 
£30 SETF*s IFA¥= "«I* THEN300 

EE3 IFAS= “t ''THENP0KEN.3H iM = N-40 : F =F -40 : COTO530 

£70 IFA*=* , a , ‘THENPOKEN,3£ : N=N+40ìF =F +40 i GOTO530 

238 L-L+ 1 : IFL< OTHEN240 

290 H=H- 1 s 1 = 1- 1 1 J«J-1 : K =K - 1 :L=0 

300 1F< H - 1 324 )/43 = INT< ( H= 10£4 >/40 JTHEN360 

3 10 I F< I - 1 024 >/40 = ! NT\ < 1-1 024 ) /40 > THEN560 

3£0 1 F< J + 10£4 )/40= INT< < J- 1 024 1/40 1THEN360 

330 JF( K- 1024 >/40 = INT< < K- 1024 >/40 )THEN560 

340 POKEH + 1 ,32 s POKE I +1 ,32 i POKEJ+ 1 ,3£: POKEK + 1 ,32 

35Q POKEH ,60! POKE I ,60: POKE J ,60 

360 POKER ,60: POKEH +0 ,2 i POKE I +0 ,2 i POKEJ+O ,5 : PGKEK +0 ,2 
370 GOTO240 

3S0 REM +* CONTOLLO SE HO COLf ITO IL NEMICO ** 

330 FORM=£00TO£20t POI I" >0,1: POKEN+0,£ : NEXT 




300 IFH >NFtNDH<N+4QTHEN450 
410 IFI >NRND I < N+4OTHEN460 
4£0 1F J >NflNOJ<N+40TH£N470 
«■130 JF K >r*=sFDK<N+40THEr-i4S0 
4 40 SC~SC“5s GOTO 5 00 


=> 


450 
4C0 
4 70 
43D 

430 


8=H f H"FNR< X ) IGOTOS50 
B= I : I-FNROO IGOTOS50 
B=J s J= FNR< X) : GOTO950 
8 ~K ! K, =FNR< X ) ? GOTO 9 50 
5C “SC + 10 




508 PR 1 NT " Jt Ja a"spRXNT"M a UNTE05l0 = " j SC 

510 IFSC >500 THE NO =0 
520 GQTO240 

530 IFKK 1 104THENN= 1 104 
540 I FN> 1 994 THE MN- 1934 


78 ■ Computer Club 


550 PQK.EN, 90 : POKEN+O ,0 SGOTO240 

560 FORC =55377TO56E75STEP40 ! POKEC ,£ s NEXTC i FORC= 1 TO 1 00 ; NEXTC 
570 FORC=55377TO55275STEP40 s POK.EC , 1 i NEXTC 
580 REM **FINE GIOCO** 

590 PRINT'^INE GIOCO" 

600 FORC= ITO 10O0 SNEXTCSP0KE53281 ,6 : POKE53280 , 14 
610 PR 1 NT " . JWOMF 'LINTEGG IO FINALE = " } SC ; PR INT" **M " 

GEO 1FSC >TSTHENTS=SC 

630 PR INT“PUNTEGG IO MAX * " ; TS 

648 pr i nt - h. «ma e ioghi ancora (y.w 

650 GETA*! IFA*=» " "THEN650 
660 I F A$= * Y " THEN 1 70 
670 I FA*= *'N" TMCN830 
630 GOTO650 
630 REM ** INIZIO** 

700 P0KE53E81 , 1E :PR INT“w»" i PR INTTA8< S) J " SP ACE - DE F E NOE Rfl " 

710 PR INTTAEK I3> "BY JOHN" 

7S0 PR I NT “ SEFREM 1 t PER ANDARE SU ' s PR INT "PREMI CRSR GIU’ PER ANGARE Gl 
730 PR INT" SCREMI F7 “SPRINT "PER SPARARE" 

740 PR INT" airi ENI LONTANO GLI INVASORI" 

750 PR INT" DAL TUO SPAZIO" 

760 PR 1 NT " OSM-' I G I A UN TASTO PER INIZIARE" 

770 IFPEEKv 197) =64THEN770 




780 GOTO 1040 

790 REM ** SPARO LASER** 

800 POKE54E96 ,25 
610 P0KE54S77 ,80 
320 P0KE54278, 175 
330 POK.E54276 , 33 

340 FORZ = 1T07S P0KE54273 ,RNO< 1>*£56:NEXT 
850 P0KE54276 , 32 
860 P0KE54H96 ,0 
870 GOTO 330 

880 REM ««FINE GIOCO** 

890 PRINTTA8< 14 > "BD*: I AO ‘ 

900 PR INT i FGRP = 1 TO50 ! NEXT : T=T + 1 




9 10 I F T =20 THEH3 30 

9E0 GOTQ300 

930 PR INT *tj a : EMD 

940 REM **SCIA LBSÉR + + 

950 FOFW= 1T0< B-N) 

SB0 P0KEF +y ,0 

970 FOKEN+W,45lPOKEN+W- 1 

980 FOKEN/90 

9S0 NEXTW 

1000 POKEB , 102 

1010 FOKEN + 40/3E 

1020 POKEB , 32 

1030 GOTO490 


3E 




1040 FR INT* J8H ON CHE COSA PREFERISCI GIOCARE ! " 

1050 PR INT "UUjOYSTIK, (1)0 TASTIERA <J O T> ?" 

1060 GETA*s IFA*= “ "THEN106O 

1070 IFA#= "J "THENJO= 1 90 s GOTO 170 

1080 IFA*=*T"THEN1?0 

1090 GOTO 1060 

1 100 SS*NOTPEEK( 5632 1 )AM3 15 ! FF =PEEK< 563E 1 )AND16 
1 1 10 1F< SSAND1 >THENPOKEN,32»N-N-40 iF=F-40 i GOTO530 
1 120 IP< SSAND2>THENPOK,EN,32iN*N+40!F=F+40:GOTO530 
1130 IFFF =0THEN600 

1140 GOTOS80 
READY. 


ComputsrClub - 79 



Vie 20 Inespanso 



Labirinto 


Un simpatico gioco basalo sulla 
nde finizione dì alcuni caratteri* 

1 1 programma gin* sulla ronfigli razione 
dd Vie 20 ìnespam ed occupa tutta la 
memoria; quindi, durante la copiatura, si 
consiglia di tralasciare le REM all’ inizio 
del listato in modo da evitare messaggi dt4 
tipo OUT OF MEMORY* 

I l gioco consiste nel riuscire ad aprirsi 
un varco in mezzo ad un labirinto! forma- 
to da caratteri a forma di blocco di ce- 
mento, in modo da raggiungere una delle 

15 REM LABIRINTO VIC E0 IhCSPANSO 

S0 REM BY PIETRO PINO 

30 REM VIA MAMELI 3 -MILANO 

40 REM TEL. 735763 

95 GOTO9000 

97 D I MM< 4 > 

100 ! 

I 10 P0KE36S7S,BiP0KE3687S , 1 5 i POKE36069 ,834 
1 15 LE®LE + 1 ISP-3IMC i ) =-££ * P-K E J - 1 !MC 3 ) «88 iMC 4 ) | 

1£0 FL^aiPRlNT- 

130 FRlNT“*-,EVELi*r gJSCORE t S 000000 Gl"SC 

131 PR INT**HOTS 4* 0 *** 

1 33 I FLE >GTHENLE -B 

135 FORK» ITOLE tPOKE7880+ei^K, I38shEXT 
j 140 S*7680+B8 
150 FORK-STOS+417 

180 IFRMDC l >*100X 60-LE*4 )TNENPOKEK^0 

183 ISEXT 

167 GOTOE000 

170 CH* 1 lTl*- ,, 000008 ,, ■ 

18© P*7954 
185 POKEP # CH 

130 PR INT rt »“SPC< B > •tf“TI* 

195 IFTI*> 11 000059 “TMErsFRI NT* fcJgSAI^E OVER * « EN O 
£00 T«PEEKf I 97 > 


bandierine poste sui quattro lati dello 
schermo entro un minuto di tempo. Per 
aiuuni, m hanno a disposizione tre 
proiettili con cui è possibile abbattere dei 
blocchi e liberarsi rosi un passaggio* 
Anche alia fine di ogni labirinto, al pro- 
prio punteggio sì aggiungono tanti punti 
quanti sono t secondi avanzati; inoltre il 
livello di difficoltà aumenta ad ogni Labi- 
rinto, stabilizzandosi solo dal sesto labi- 
rinto in poi* 

D tirante il gioco, nella parte superiore 
dello schermo compaiono varie informa- 


zioni? tempo, punteggio, numero dei labi' 
rìnti e numero dei proiettili a 
disposizione. 

P er muoversi si adoperano 1 tasti: *V 7 
(rotazione a sinistra); *V T (rotazione a 
destra!; “Z” ( per avanzare di un passo)* 
***** per sparare* 

Ed ora, buon divertimento.,,! 

■ 

Pietro Pino 

Vìa G. Mameli, 3 
20 129 Milano 


80 - Computer Cfuo 


2 10 I FT =29THENCH =CH- 1 * PQKE36876 r 200 - IFCH< 1TH£NCH=4 
E 1 5 IFT = 37THE:NCH=CH+ I : PGKE3687B ,2 10 i IFCH >4THENCH= 1 
220 IFT «33THENS00 

230 IFTM4fìNDFL*0THENGQTO30 10 

23 1 POtt£36B7G f 0 
E33 FORT- 1TQ88 i NEXT 


235 

500 

505 

528 

527 

530 

540 

£000 

20 ! 0 

£020 

£025 

2030 

£040 

3010 

3020 

3023 

3025 

3030 

3040 

3043 

3045 

3046 
3050 
3053 
3055 
6000 
6005 
6007 
6810 
6020 
8025 
6030 
6040 
6050 
3000 
3805 
30 10 
3020 
8825 
3030 
3040 
8045 
3050 
3055 
3068 


FQK E 36S76 , 8 f GOTO 1 85 
REM MOVIMENTO 
P 1 *P 

P =F +M< CH > l GOTO 52 7 
I FFEEKX P ) *5THENG000 

I F P >5 + 4 170RP< SORPEEK< P>< >32THÉNP =P CH > :G0T0185 

FORT- i TO50: NEXT: POKER 1 , 33 : P0KE36876 , 1S0 = GOTO235 


POKES + RNCK 1 > *22,5 

FOKES+C I NT< RMD< U * 18> >*22 ,5 

POKES +< INT< RNO< 1 >♦ 18 > > *82+2 L ,5 

POKES+ 1S*££+RND< i>*22,5 

GOTO 170 

R=MC CHJìPJsF 

I FFE EK< P 1 +R > -0THEN3040 

I FF 1 + R< SORP I +R >S+4 17THEN3053 

POKEP 1 +R ,42 i FORT = 1 TO70 i NEXT ! PDKEP I + R , 32 * 

P l »P 1 +R : OOTO3020 
P 1 *P 1 +R 
P0KE36877 ,200 

FORL = I TO 15 s POKER 1 , 1 02 : FORT = 1 TO 1 0 * NEXT : POKER 1 ,32 
FORT = ITO 10 f NEX TiP0KE3687S , 15-L * NEXT 
POKE36877,0 :P0KE3687B, 15: 

SP*S P- 1 : IFSP=0THElsFOKE774 1 , 1 60 ? FL- 1 : GOTO 190 

FORK- 1TOSF SPOKE7740+K , 42 + 1 23 : NEXT : POKE7740 +K , 160: GOTO 130 

T$-RIGHT*< TIS »g ) i PR 1 NT *' » JffllM ■ TftB< 9 > ■*< *«7*»* > h 

PR INT-ffiTTrìBC 8> "aBECOND IS" 

PRINT"Jtty"TFsB< 8? \SEONUS : “ 

PR INT " HH" TflB< 6 > " *0- 'T*" *"60-VflLC T$> 

PR INT W MS W TRB< 3) m \ P 

PRINTTA8* 3) '| TIENITI PRONTO» f” 

PRINTTRBC 3}"\ J n 

SC =SC +60 - VRLC T^> 

POR T= 1 TO5000 : NEXT f GOTO 1 00 

P0KE5S ,24 IP0KE52 , £4 : FORK ~0TO 1 32 *8 - 1 

PO KE6144+K ,PEEKC 32768+K > ; NEXT 


REROQ 

I FQ - - 1 THEN9040 f 

P0KE6 1 44 + W,Q ' U s UJ+ 1 16OTO9020 
POKE3636S ,254 * 

GOTO 100 

0ATAG3,67 ,255 ,135,135,135, 134,252 
DATA© ,28 ,8 ,8 ,93 , 93 ,127 ,65 
OATA0 ,240 , 64 ,114,127,1 14,64,240 


9065 OATA65 , 127 ,93,93,8 ,8 ,28,8 
9070 OATA0 , 15 ,2,78,254 ,78 ,2 , 15 
3075 OATA 124 ,60,28,60, 124 ,4 ,4 ,4 , - 1 
READY. 

_ 

t 


Computer Out? - 8 1 



Commodore 


Sintetizzatore 

Sonoro 


J I programma trasforma il Commo- 
dore 64 in un perfetto sintetizzatore 
offrendo, inoltre, la possibilità di sce- 
gliere il suono piu gradito, I tasti da 
usare riguardano la fila dei tasti che 

va dalla lettera -A» aJ simbolo 
+ >■ , mentre nella fila superiore vi 


sono \ diesis, 

olendo usare una scala con suoni 
piu bassi di una ottava, si digita il 

tasto SHIFT insieme al tasto della 
nota, li volume si regola con l tasti dì 

funzione ( FI, F2, FJ, F4j. Per creare 


un effetto di sustaim digitare il tasto 
-a Per eliminarlo, sì usa il tasto 
di un registro qualsiasi. 

Cisi riparali) (.'alafKìre 

L go I Da \ ina. I Motualicn | In] 


100 FEIV 1 ! 0 M H ODORE o A 
: t r noi" — — — 

\*3 REM" Gl BAROLO GBLriF IDRE 
130 REM” 

140 REM" TEL 31 1*805 10 98 

150 REM" 

1££ K E K " - -MOGGI OD ND 64-- 

170 REM* 

130 REM" ” 

130 PR IlsrT B U ^P0KE53£Sl ,01 F0KE533C0 # 0 
?0G p MJOQSOUND 64 ****** 

310 rr.riiT" - - 

3 £3 PRfN~:PR INI : PR I NT : BOTO 3 l 0 

t i — *7»4 ,10 

1^0 ~n^L-STQ3+£4 s POKEL . D : NEKT 
£50 PGKES+E4,7 
336 GET?$ 

E70 ÌFZ*- "^^Tl- ENFH=* 17:FL® 103: GOTO7E0 
£03 JFt*= MsPTHEhFH = 1&:FL=1 13*0010730 
Z 00 | F Z Ji- %" THENFH = I 3 i FL = I 37 : GOTO 730 
360 IFZ S=*r ' THEIFH=E0 : FL, = Ì7S *GQTQ7£0 
310 I “D r TMEI ■FH-g 1 :FL-H37 : GGT G730 

CFG ITI £- "F " THENFH “E 3 : FL-59 s GOTO7E0 
"30 IF7B= *T” THENFH =£4 ;FL= 15? : GOTO T£0 
340 ] FI £ - **0*THE!t FH ~2S s FL-S0 : GOTO720 
350 = "v«THENFH*27®FL- 186: GGTG7E0 

360 “H * TNEr4FH s *33 * FL = S9 SGOTU780 

fTT ,, U"THCrJFh=3 1 : FL -3 ! GGTG7E0 

3&G ì FZ r= * J ” 1 HEInFH = 3E i F L =£ 1 3 : GOTO 730 
303 irz«^ “K" THENFH =34 : FL*£07 1 GGTO720 
-I0rr IF?f =■ "0”THCt f r H = 3e trL=E23 :00T0720 
‘10 ÌFS*-’L " THENFH =39 ! PL = I B ! GOTO7S0 

•*ee -p-them=h*<) i ; fl = ib t \ opTo? 2 g 


82- Computo' Club 




seguite le vostre guide 


PROGRAMMA imcJO * ii 

-T- . * »-" r* 

r L' 

t ;"*»*.**» 

M^Kp-ihtHL 

i"-* j Qt »*> f*s. 

Stf’X* 'fa_^c v S. 


'UVA. 


concessionari autorizzati 


SDC ldcjuvt I ■ 

[ Xf-£ % i 

:c *■: 

t*ì c 


NTOVft TTl SC 

* ■ j l?*iL» JLL. < 

j ,1- "IX VA 

r,- 


melone magnetiche per computer 






K 3 i lc THENFH = 43iFL=ai3:G0r07£a 

440 1 FIT= ,F f " THENFH -46 : FL = 1 1 E I GQ rG7Z3 
453 1^1$= * * “ ”HEHFH*43 : F L-5S : GOTO7E0 
4E0 I F ” -T - " = " THEMFH - = 39 i GGTQ7£0 

470 ITZ±= " '-''THEiriFH* 16 < F L = ì G 3 * GDTGTZu 

400 IFZ* = " r" THENFM *15* FL = 1E3 & GOTO7E0 

401 et 1FI*=- E l'THEI'F H = 14 i FL = IE E i GOT072C 
500 :P04-= 1 '"THENFH-lSEFL-SGd-OOTOTaO 
SiG trzm=*l "THENFH “ 1 3 ì FL = là i 00 TOT £0 

J FZ * | 'THENFH® IE l FL=?0 SGOTG7S0 
C30 irr^"' 1 - '‘THENFH*! 1 ìFL= L53 ! GDTO7E0 
"30 ÌF2T- i 0 ■ F L =£4 7 : GOTO720 

00D ITZ4- p — " TH£l<FH a 1G 1 FL=39 * GQT07É0 
55" 1 r 7T s "O "THENFH-9 ; FL = Ì36 : GOTO7E0 
677 0*THENFH«Sf FL*5B:GOTG7£0 

TZG I FZ 4 - "* B THErFH=8 ìFL= 180 ;GOTGT20 
73G IFZX* fc 1 ,J THENFH -□ : FL-0 ; GOSUB5O0 : GOTO 7 70 
©è© 1FZS- w £ “THCNFH^G : FL-0 • GDSUB3 1 G s GOTO 7 70 
0 ì 7 IFZi= * 7 M TMENU = 64 *'E£ =33 i U I =3 : ML -0 : QQ TQ7&G 
L 00 IFZ 1 4 “ H l f <IU “G5< E2=84 :UI * l 4*L=5! GOTO 730 
77 j tri*-- ' 7 " THE r -iU -£ 4 : E £ =■ 1 7 : G 1 «8 : ML =0 i GOT073© 
G4G :rr$ "6 "THENU^S* : CS-S5 : U I =9 e ML -0 : GQ TO7S0 
773 :rZ t- ' 7 ”THENU*=64 : EE =65 SUI =53 a HL = 0 : GOTO7S0 
560 " THEMML=£0 * GGTG730 

£ “Q jrz&* "■'THEPm^OS&QTQmo 
70,3 IFZ^'TTMEMR l *3 :60T0?6C 
eS3 IFZ* = "li^THENR 1=7: GOTO 7 50 
700 JF Si" THENR l = 15:60X0760 
7 1 C GOTC88C 

70-G t > 33* 1 ,FH ;F uK££. ,FL 
7 30 "-0-;E3^4 .U 1 I FEE s O THEM750 
-40 raFES + 4 .00: 1FLTI =OTHENRETUKN 
770 OOTOEG0 

"*L C r c=«' lS^74 R 1 :G0TDEE0 

7 7 3 r-QKES + 5 ,0P : P0KES+6,£55 : r^lL - 1 : GOTOÉGD 
700 FOKE343 / 8iFOKES+a^0 

733 FDKES + S,UI : FOKES *B , ML : IFU I = STHET <7EQ 
800 30 TOSSO 


810 

FRINT3PC< 4 - : 

"FLAUTO 

1 " , < - 

VOLUME 

0; 

r 

i " 

SPRINT 

C£0 

PR INTSFC< 4 7f 

"orghNE rrn 

E " , " 

VOLUME 

1 . 

F 

3 M 

; PR INO 

370 

FR UiT&PCi 4 > ; 

-CLAVICENDALQ 

3 % " 

VOLUME 

■T> i 
ll_ * 

F 

5 " 

SPRINT 

34 7 

pr 1 NTsrc< 4 > ì. 

"XiLQFGrJO 

4",’ 

VOLUME 

3 * 

F 

7 11 

: PPM NT 

377 

FK INTGrc: 4 » ; 

T 1 ANO 

P / 

SUSTA IN 


+ tp 

SPRINT 

3E0 

PR IMTR^C»: ^ j : 

T 1 1AN0 E 

e " : PK rNT 





3^0 

pp ir 1 4 r 

4 CLAR INETTO 

7 " : FR 1NT 






CCO 30 TOC 30 
SSO TEJG 

30 7 1 -35 : FZ =0 1 : U ! =0 : 5OSU87S0 MJ = 1 7 : E E = © : OR =£55 : RETURN 

3 10 U - Co : CE =€4 : U 1 *0 : GOSUB780 s U = 33 ì EE - 0 i GF ^SSSRE RJRN 


RE *3 


V r 


34 - Computer Club 


Commodore 64 


Bomber 


100 REM*** BOMBER *** 

110 REM* ^PROGRAMMA PER COMMODORE 04*** 

120 REM*** 01 *** 

130 REM*** R. LEGNAMI & A * S IMONELL I *** 

140 REM*** VIA GAS TEL VETRO ^3 -MI LANO *** 

150 REM* * 4 TELEFONO 02/3496437 *** 

151 i 

155 REM PER LANCIARE LA BOMBA 
158 REM PREMERE IL TASTO *Z “ 

137 s 

170 XXf a "ERRORE NE 1 DATA'; XX = 0 

180 V“53248S P0KE2O42 , 160 i F ORN=0TO62 *- RE ADO i XX = XX + □ 

190 PQKE 1 0240 +N,Q : NEXT » AA = 2 
200 [ F XX< > 768 THEN FRI NT " 

2 10 XX “0 t POKE2043 , 16 1 ; FORM =0 TOSE ; RE A DO ; XX*XX+Q 

220 POKE i 0 304 +N , Q ’ NEXT 

230 IFXX< >671THENRR INTXX^; STOP 

24P XX^0: FOKE2044 , 1B2 : F ORN=0TO62 i RE ADQ i XX =XX +Q 

250 POKE 103S8+N,Qsr^;XT 

260 IFXX< >24£6THENPRINTXX$! STOP 

270 XX = 0 i POKE 204 5 f 1 63 : FORN = 0TO62 S RE ADG : XX “XX +Q 

280 POKE 10432+N,Q3NEXT 

290 IF XX< >5373TH£NPR INTXX^ J STOP 

300 POKE V + 42 , 1 : POKEV + 43, 1 i POKEV+44 , 1 

310 PR JNT-ti" • X~ 16; Y— 64 ! POKEV +4 ,X : POKE V + 5 , Yf P0KE3328 1 , 4 J POKEV + 16,0 
320 FORC =55296X056295 SPDKEC ,0 : NEXT 
330 IFOO< >6THEN00-004 1 

340 FORA- 1984X02022:0*= I NT< RNDC 1 >*7>-*00: FORW=0TOO i POKE A^L4*40 , £2 1 

350 KETXTy ,A!S3 =54272* PRlNT“a- 

360 FORU b 1064TO1 1 03 t POKEU , 64 t NEXT 

370 PRINT^a PUNTI ' RRTA0C 27 ) - AERE 1 * A A 

380 RESTORE * POKEV+2 1 , 4 

390 XX=0;FORD = 0TO25 1 s REAOH : XX=XX+H : IMEXT 
400 IFXX< >3238 THE NPR INTXX$ ! STOP 

4 10 XX^B ; F0RK -0TO24 ì REAOH : XX = XX +H VPOKES J +K f H : r EXT 

420 1FXX< >85BTHENPR 1NTXXS: STOP 

430 POKESI +4 ,S5«P0KESI *1 3 , 65 : POKES I + ì 3 , 65 

440 L?*4 1 

450 X*X+4 

460 QUI = 1 024 + ( INT< X- 161/8 ) +< < C Y-40>/B > *40) i I FPEEKC QW > =22 1 THENS80 
470 IFQU1^20£3THENAA=AA*l SGOTQ310 

480 IFX >255THEISP0K£V+ 16,4: POKEV + 4 /X -255 ; GOTO 500 
490 PQKEV+4 ,X SGQTQS 10 

500 IFX>327THENP0KEV+1G ,0 : X = Y + 8 : X = 1 6 i POKE V +5 , Y i POKE V +4 ,X 

_ i' 


u 


n pìccnio aerto ai muove lungo k> 
se he rm ti da sinistri a destri r linci* una 
Ni ni ha premendo il tasto 44 Z’\ E* neces- 
sario colpire i grattacieli ili* toro sommi- 
tà, altrimenti la bomba non ha effetto. 


s 


e i grattacieli rimangono indenni, pri- 
ma o poi Tieroo perdendo quota , li urterò 
esplodendo. 


Computer Cfuù - 65 



5 10 I FK = 1 THEN540 

520 fì=PEEK< 203) : I FA = 1 2THENK = I :S=QW+ 1 s POKES ,46 
530 CO TO') 50 

540 D4=P4+1 ! IFD4=3THEND4=0SGGTD560 
550 DOTO 4 50 

5G0 IFPEEKC S+ 1 > =22 I ANOPE£K< 5+40 X >22 1 THENK =0 : POKES ,32 i GOTO450 
570 IFPEEK< 3+40 >=22 1ANDPEEK< S-40X >22 1THENM=M*1 :PR=RP+1 :L7=40 
580 POKES ,32 :S=S+L7tPOKES ,46 

590 IFM*40RS> 1 983 THENK =0 i M=0 : L7 =4 1 ! POKES ,32 : PR 1NT n a*THB( S)JRR 

S08 GQTO450 

810 POKE 650,0 

620 REM SPR1TE AEREO 

630 DATA 0 ,0 , 0 ,0 ,0 ,0 ,0 , 0 ,0 ,0 ,0 ,0 ,0 , 0 , 0 ,0 
640 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0 
650 DATA 1 ,254 ,0 , 1 ,255 , 128 

GG0 DATA0 ,O,0 ,0,3, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,0 
670 REM SPR1TE SCOPPIO I 

680 OATA0 ,0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 

890 DATA 0,10,0,0,181,0,0,10,0,1,00,128 

700 DATA 0,36,0,0,133,0,0,32,0,0,74,0 

710 DATA0 ,B ,0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 

720 REM 3PRITE SCOPPIO li 

738 DATA 0,0,0,0,0,0,0,0,0,0,36,128,0 

740 DATA 147,32,2,137,80,1,82,128,4,10,40 

750 DATA 4,161,0,2,10,88,9,80,160,4,36 

760 DATA 36,8,139,64,10,32,176,5,74,0,0,161,64 

770 DATAR ,21 ,32,1,34,128,0,8,0,0,0,0,0,0,0 

780 REM SPRITE SCOPPIO III 

790 DATA 0,165,0,5,90,208,17,74,168,42,36 
800 DATA 200,36,147,42,154,137,84,83,82,129 
310 DATA 180,10,42,76,161,4,146,10,89,105 
820 DATA 80,162,20,36,44,200,139,66,42,32,181 
330 DATA 213,74,13,32,161,76,162,21,34,85 
840 DATA 84,145,13,41,44,18,148,136,4,74,80 
850 REM DATA PER SUONO 

860 DATA 3,2,0,3,0,0,240,12,2,0,4,0,0 
870 DATA 192,16,2,0,6,0,0,64,0,30,243,31 
880 POKES 1+4,0: POKES I + 1 1 ,0f POKES I +18,0 
890 PDKEV+ 16,PEEK< V+16 1ANG4 :F=X 

900 IPX >2 55 THE NF =F -255 ! POKEV +16 -P£EK< V + 1GJOR56 

910 PDKEV+6 ,F-8:P0KEV+7, V! POKEV+8 ,F-8 

920 POKEV+S , Y:POKEV+ 10 ,F-8!P0KEV + 1 1 ,Y 

930 Afl =AA - 1 : POKEV +2 1 ,8 1F0R6- 1 TO400 t NEXT 

940 POKEV+21 , 16:FORG=1TO400:NEXT 

950 POKEV+21 , 32 ! FORG= 1TO400Ì NEXT s POKEV +21 ,0 

960 IFAA< 0THEN980 

970 Y = Y-32 t POKEV + 5 ,Yt POKES ,32 '• PR INT "9" TAB< 27) ‘AERE I *AA:OOTO380 
980 PR INT ' jmBfflBlsFUNTt * )RR 

990 PR 1 NT " MWHBIMIlMgBBBDIlBIB PER UN'ALTRA PART I TA PREMI UN TASTO “ 

1000 IFPEEKv 203) "G4THEN1000 

1010 A A =2 • RR =0 ! 00 = 0 * G0T03 10 
READY. 


86 ■ Computer Chili 



Didattica 


L’informatica a Scuola: 

T ELEMATICA, ROBOTICA, BuROTICA 


L 


Jl. J i* sostanziale differenza I r ii li) l uIìui :i 
antica e quella moderna sta nel modo dì 
porsi di frati te al) 'luetici. IJ centro delle 
attivila intellettuali, dal rami ehils fino a 
(■allibi, nella narrazione, cioè 

nella descrizione argomentala dei feno- 
meni. t > i*kì risiede nelle informazioni 
tratte scientificamente dalla realtà. In 
quest u quadro Ti n formazione elaborata, 
cioè l'informatica, è destinata ad assume 
re un ruolo sempre piu significativo. 


L’ 


1 J elettronica e una scienza assai gin- 
vane e ci dà Timpressione di essere di 
fronte mi un iceberg, del quale conoscia- 
mo La vetta affiorante ma tino la monta- 
gna sommersa. i>i certo possiamo dire 
che rdaboratore e La microeleti runica sa 
ranno i protagonisti e gli elementi motore 
dei cambiamenti che investiranno tutte le 
attività umane, pubbliche e private. Per 
ora si individuano già almeno tre disriplb 
ne che trovano nome per aggregazioni 
d'uso: telematica, hurotkn e robotica, t 
cambiamenti non saranno automatici ed 
indolori, perche hanno come rondinone 
che la società si evolva culturalmente nel- 
la direzione della conoscenza generali zza* 
ta deir informatica. A questo sforzo di 
uggiti rnumrti hi saremo chiamati tutti, 
per esigenze connesse all' efficienza ed aj- 
la produttività, ina in cambio d dura una 
nuova sicurezza e consapevolezza di deci- 
sione ad ogni livello ed in ugni direzione. 
Prima vinceremo le nostre resistenze alle 
nuove tecnologie, dovute ad ingiustificate 
diffidenze o disinformazione, prima sare- 
mo conscia meni e presenti nella realtà so- 
ciale e lavorativa di domani. Ogni cultura 
ha le sue terminologie. Non conoscerne il 
significato vuol dire esserne esclusi: senza 



paradosso si può affermare che fra mi 
ventennio chi non conoscerà ri riformati 
ca sara un escluso, come un analfabeta 
nel mondo d'oggì. 

Tei .EMATICA 


Al nome nasce come coni ruddi/ ione dei 
termini 1 elevo f minici/ ioni ed informali- 
ca. II suo scapo è quello di fornire dei 
serv izi canalizzati su reti di t detonili ni ea- 
zinne, al fine di rendere disponibili le in- 
formazioni contenute nelle banche dati, 
che volgarmente potremmo definire ar- 
chivi elettronici- Il progresso si misurerà 
dalla velocità di trasmissione dell' infor- 
ni a /.ione, dalla capacita dì immagazzi- 
narla, elaborarla c ri trasmuti erto- 
Telefono, il terminale piu diffuso nel 
mondo (SOU/MKI milioni di apparecchi), il 
Televisore e Personal ( ompultr, sono gli 


strumenti attraverso cui passerà il cam- 
biamento. i dà figgi sono in funzione TE- 
LETEX1 e VII IEOTEXT, Le informa- 
zi uni, con il Teìete*!, sono inviate utiliz- 
zando un canale televisivo e l'alternativa 
che ha l'utente è di vederle tutte u di 
scartarle completamente, eoo il Vìdei** 
test, r informazione viaggia su un cavo 
telefonico e l'utente puri mlerloqnirr con 
la banca dai* mediante un (decorna oda, 
scegliendo via via quello che desidera ri- 
cevere e scartando eh» che non gli 
interessa. 

I fornitori di in forma /ioni, in inglese 
Information Provider , sono banche, 
borse, università, enti pubblici etl orgu- 
nizzazkmi private, i cui servizi possono 
essere graluò i e/o a pagamento. 


Robotica 

L a parola robot venne coniata nel 19 17 
dallo scritture cecoslovacco K- t'apek, 
che là usò nel racconto breve «R*|i.R, .. 
Deriva dal ceco - ROBOT A e significa 
lavoro duro, servile e/o coatto, quello dei 
servi della gleba . E / idea di creare un esse- 
re dd tutto simile ali 'uomo, ma ad esso 
asservito, che svolgesse i lavori più ingra- 
ti, e vecchio qua oto l'uomo stesso. 


L 


i- J a letteratura si è piu volte appropria- 
ta di questo mito, ma in una chiave del 
tulio particolare: la creatura si rivolta al 
suo creatore che solo albi fine riesce ad 
averne ragione distrugge ridda. L'esem- 
pio piu famoso e Frank c l iste in. Purtrop- 
po ancora oggi grosse produzioni cinema- 


CùrfpLttùfCfub ■ 87 



Mhi( *7 Tb ■ Alpi™ I Vili » Ih 1 " I ! • Jh I iil 1 1 Ì_'*j «4 itigli il ir li ' w|4 ’rj.rt i p\I 




ir\l W*lMAC.A/ÌN('<ll H'iNfoiiMAlifA 


Cosa vedere 
al prossimo 


Data base: 
come sceglierli 


Ed ecco 
il transputer 










(ugrafkhe si basano mi quello equivoco, 
insinuando frigi astiti rati timori e danneg- 
giando un armonioso sviluppi iteli' in for- 
ma! fra* Nd 1950 fsae Asimov nel celeber- 
rimo romanzo -lo» Robot., coniò le tre 
leggi della robotica* nelle quali è riassun- 
ta la moderna conclone di robot: 

• [ n robot non può recar danno ad un 
essere amami, ne può permettere che* a 
causa del proprio mancato intervento* un 
essere umano ricava danni. 

« In robot dece obbedire agir ordini 
impartiti dagli esseri umani, purché tali 
ordini non contras vendano alta prima 

frw- 

* I n robot deve proteggere la propria 
esistenza, purché questa autodifesa non 
contrasti con la prima e la seconda, 

o ggi il rampo di impiego dei robot e 

soprattutto industriale. Grande sviluppo 
stanno per avere i robot nelle industrie 
con catene di montalo, in particolare 


quelle automobilistiche (Robogaicj, ma 
anche in molti altri settori dove svolgono 
compiti per formio pericolosi, impossibi- 
li, faticosi il ripetitivamente noiosi. I ro- 
bot industriali possono essere tesati in piu 
mansioni, e ciò presuppone che accanto 
ad una struttura meccanica esista una 
struttura elettronica, basata su un micro- 
processore ed una memoria, 

Burotica 

E 9 

un termine di derivazione france- 
se: h li reati ■ cioè ufficio e Hinformati- 
que* s! sono contratti in bureàutique-, 
che nell* uso corrente italiano e diventato 
burotica . 1 a bunvtka si occupai delle 
tecniche e delle tecnologie relative »H'au- 
Ni ma zirlile dell' ufficio ■ 

sfuria d etTorgai ni uazlonr dei lavoro 
di ufficio mostra • vari periodi cambia- 


menti, soprattutto ad opera di Innova- 
zioni tee (lotiche* ma per La relativa 
eseguita sociale degli im piegati rispetto 
agli operai, I 1 aspetto organizzativo e 
sempre stato subordinato al rapporto 
personale e all'ordine gerarchico, nono 
stante che nello stesso periodo in fabbri- 
ca l'organizzazione del lavoro fosse ind- 
io cambiata. Solo la grande cresciti] del 
numero degli impiegati, fino a diventare 
maggiore dì quello degli operai, ha posto 
problemi organizzativi. L'introduzione 
del computer t che ha portato Tesi gè rt/4 di 
procedo re e melodi standardizzati e stata 
l'elemento catalizzatore di questo 
processo, 

T ’ 

M-J organizzazione funzionale sta 
avendo il sopravvento sul f organizzati^ 
ne gerarchica: ora l'azienda e sempre piu 
un sistema informativo. Prendiamo ad 
esempio aì passaggio dalla configurazione 
accentrata dell' elaborato re alte configli- 




CENTER 


20144 MILANO 
C.so Vercelli, 52 
Telefono: 490, tì% 


Imparate una lingua in 80 ore. 
Usando l’istruzione programmata. 
MTF Language Center vi offre un corso 
intensivo personalizzato nell'orario 
e nel luogo da voi stabilito. 
Iscrizione continua. 

Per i lettori di C.C.C. ulteriore sconto. 


I 


INGLESE 
FRANCESE 
TEDESCO 
SPAGNOLO 
ITALIANO 
SOLO PER 
STRANIERI 
IN 80 ORE 

j 

Desidero ricevere ulteriori informazioni f 

sui corsi | 

Cap, — — — Città 


« 
I 
1 
- J 


90 - Computer Club 




Computer questo mese é questo . . . 










g pmmo 

COMPUTER 
“CLUB — 


PRESENTA 











per imparare a casa 


di programmazione BASIC 


computer 


Forse r>er pross ~ •=; '-à c- - --- - 3 

domani anefte per te se non res = - ' ? oc-' 

ma di imoar-ìna' a c.a *ga r * ' ' ■ ” : - r " -■■•- ■• - 

lode dei suo» 35 arr d> esper *•- za *-■ : 

disianza, li propone la soluzione ottimale il suo n^c 1 , : : 
g r arn rr: a z 1 ont ? BASIC Su pe- son ai co^o u 4 ■:- r ■: - -■ 
mento più perfe/ onato oggi reperibile per cr , ■ - 
re l'informa zinne con I elaborazione alati r ortica de - 

un corso per tutti 

il corso Accademia di programmazione uB 
BASIC su personal computer oiende le 
mosse dal!' ABC deli 'informatica e. spie' 
gandone - concetti in modo Access ipiie a t 
ulti permeile a chiunque a n che se nuove? a 
quasi esattore, di apprendere in breve tempo r 
;p tecniche delio programmazióne 

Basic: il linguaggio % 
dei personal computers 

Imparare ao esprime* $ m BASIC e h<j sr^- - sa: e 
chi Vuole saper utilizza cerreti a me 1 me :.c ■ : 
per dare una nuova dimerìs one a procx : .= 
propri studi 0 all a mm lustrazione J arr - - :: 
per acquisire preziose conoscenze cne do’^~ 
ve ! r) r s indispensabili in un ?ulufo mosto p'oss - 
Con 1 orso Accademia li linguaggio BASIC *r pc . 
settimane ngn av r à piu segre i per te e 11 persona : 
venterà 'uo col acotaicfe più "edele e 
qualificato mm&m 

Accademia ti propone un corso teorico- vii 
pratico di facile comprensione anche 
per chi $1 avvicina per la prima volta 
al l'informatica , che tf mette In grado tln 

rial nrl rfln nlrtm A Ht tiimrr, Cd” n.,1 i. J 


| ACCADFMIÀ Via Dromede Marvasi 12/W 00163 Roma 
■ DesjdfHTJ rc> j v wt ■ ri'omvtj kjth s A vOftt a oso ai urog^anTiir ore BASIC 


I I I II I I I J_LU 1 
JJJJJJJJ* LU J I 

■ ■dii I l< I II j ■’ 


A-rre t? proposte & Acoac lente o& tf tuo tur sto 
Arredatore Disegno e pii lui a Smista - Fotografo 
Grahcopubbit lane Vei ornata Tecnico pubbli 
citano ' GiomaE>sia imoiiunisiicasiraoafe ’ec 
f u di gesliorve iizserniaie InlerDfete \ ingoi 1 


ee* un eruttano pig raptcìa Eeieionc ! 1 \__j I I I I L_jL J_J J, J 

Mori v >" ri-^w siijrtir ho*#* t>#*dfiO sul nel* rono * fiÉTBnin# tompul#r 




Nuovo corso rapido di 

PROGRAMMAZIONE 

BASIC su 

MICROCOMPUTER 



Sct-lqa il Corso a lei piti ridano 


PROGRAMMAZIONE, 
BASIC E MICROCOMPUTER 

• per il Commodore OSA 

* P*r il C* camma dorè UIC 20 

• per il Sinclair ZXSpectrum 

* per il sni— l3lir^ ZX8I 

In $ofe \2 dispense i$ì impalerà a dia- 
logare con i compuier, sviluppare prò' 
granrm da scio, modificare quelli esi- 
stenti cre^e grafici m movimento, ca- 
pire ['informatica sul suo calco atore. 
confrontare II BASIC con astri linguaggi 
(COBOL. FORTRAN, ecc.) e godrà deL 
l'assistenza gratuita dei nostri esperti 


LA 1* DISPENSA IN VISIONE 


Chieda subito, in visione gratuita e 
senza impegno, la I 3 dispensa piu 
adatta al suo computer. La riceverà 
completa di documentazione e solo 
per posta raccomandata. 

Cosi potrà toccare con mano la bontà 
dei metodo l$T e decidere m assoluta 
libertà 

Sfrutti questa occasione e spedisca 
oggi stesso il nosiro tagliando 1 




razioni decentrate presso I singoli uffici, 
ciò che si definisce « wre ni emerite V infor- 
matica distribuita, a questa corrisponde 
un decentramento di competenze e 
responsabili tic 

T 

M, 1 ’Word-iYocesìiing (che permette l'ela- 
borazione dei testi e la loro are hi > la/ ione i 
e la possibilità di digitalizzare la voce 
umana inseriti nel sistema informativo 
dell 'ufficio* tramite ki sviluppo della tele- 
malica, ci fu rati no giungere ad un sistema 
informativa a livello planetario, E* chiaro 
che in breve tempo, nei paesi industriali 
molti potranno o dovranno ac- 
cedere ad un elaboratore personale, 
quindi il grande sforzo da compiere sarà 
quello della formazione informatica di 
massa . 


Finalmente 
una Scuola 
per Diventare 
Progettisti 
di Videogiochi 

L— z ol ritorno dalli- vacanze estivi una 
grossa novità attende gli appassionati di 
homi 1 -computer e videogiochi: stira inuU j 
gufata la Video-design School, là incuoio 
che è nata per insegnarvi a programmare 
il vostro videogioci). 1 corsi saranno arti- 
colati su tre li ve I li r per principianti, 
esperti, spedalini: ed alia fine verrà Hla- 
sciato un attestato di idoneità ta chi vara 
prcmuivsn! I. 

f » 

1 J esame sara costituito dalla pnq»et- 
lazimie e realizzazione di un gHKO, che 
verrà discusso in un colloquio. f candidati 
potranno scegliere liberamente se cimen- 
tarsi su temi di intrattenimento n 
didattici- 

p 

a. er infor magoni* telefonare al 02/ 

12 - 603868 , 


IMPARA 

A PROGRAMMARE 
IL TUO 

VIDEO GIOCO 
ALLA 


VIDEO’ 

DESIGN 

scriool 

CORSI PER 
PRINCIPIANTI 
DI 

PERFEZIONAMENTO 

E 

SPECIALIZZAZIONE 


A conclusione 

del corso sarà 
rilasciato un 
attestato di 
frequenza - idoneità 

Video design school 
è un'iniziativa 

SOFTGR 'F 


PER 

INFORMAZIONI 
TELEFONA 
Al NUMERI 
02 / 6899912-603868 








WS» 

PUOI 




Scuola Radio Elettra 
ti insegna 
a programmare 
con il nuovo Corso 
" PARLA BASIC" 

Ce un "gioco' che *■ ‘orò tcoprire tu'te e 
meravigliose capacità de *jo V(C- 2 C é 
degii a 'tri nucrocomputer 

imparato anche tu con 'PARLA BASIC 
nuovo Cono per corrispondenza di Scuo- 
ic Radio Elettra Presto e bene anc^e \ 
saprai programmate in BASIC it in~ 
gvaggio indispensabile per comunicare 

con i microcompi e? 
Diventerai com 
un vero cipero, 
pronto o servirti 
di oppa rec- 
ti chiaiure anche 


impegnative e 
sofisticate 


9 Bastano 
12 lezioni 


Re? f e, tutto l’esperienza di Scuola Radio 
Efedra nei! 'insegnamento a distanza: in 
soie / 2 lezioni r tutto b teoria e la pratico 
del'a programma rione BASIC fin dolio 
ì c lezione sarai capace di dialogare per - 
fenamente con H tuo VIC -20 e ai servirte- 
ne per il tuo avoco per il tuo tempo libe- 
ro. E mentre impari, puoi consultarti per 
lettera o per telefono con gli specialisti di 
Scuoia Radio Elettra . Essi ri saranno oc- 
conio ogru volto che desideri, per assicu- 
rarti un apprendimento perfetto. 


"PARLA 

BASIC " 
conviene 

Per te f tutta fa conve- 
nienza dei Corsi Scuola 
Radio Elettro Infatti in* 
j teme alle 12 lezioni il 
Corso ti offre, se ancoro 
non li ho ! , il VìC 20 e il 
registratore VuO\ acqui- 
starti entrambi? 

Vuoi semplicemente af- 
fittarli? Vuoi acquistare 
il solo registratore? 
Scuola Radio Elettro ti 
offre la massima libertà 
di scelto. 


In più t con 
l'Elettro 
Cord.,, w 

... che troverai acclusa 
al tuo Corso, potrai acqui- 
stare tutte te periferiche le in* 
terfaccé e i programmi Comma* 
dorè a condizioni assolutamente vantag- 
giose, Comò io g ioco Con noi puoi Tt b a 
sta ritagliare e spedirci su- 
biro questo tagliondOj per 
riceverò p coso g I 

tutte le i nfor - 
mozi oni s u/ 

Corso 4| 

PARLA 

De? inviare a: 

r Scuola Radio Elettra 

Via Stellone 5 - 10 Ì 26 Torino 


r~\Cl rnufitermo tìctvGfB, Qrotinrjirma impegno, ti materiale 

informat.vo rotati ve at Corso 1 ’ PARLA BASIC 


totalità — j_ì. 


CAP— 


Proy r. 


fra Protei fior** , i i i — >- — > — - — i — * — < — 

*tO Oi Cpoi di co 

•'I fornirò eiettori ito jjyc^rfus^o'c {NO Vi 7 A '} 
n fi iertranico digitai* {NOVfTA I 
DMicrocQ'T'pvter {NOVITÀ ;n f ber etneo Rodo IV 

□ E fetirQtìtCO rndt/iifiaie □ Teievmo'ie btn , 

□ fe/rWuOft# o colori □ Amptrtico rione uereo * 

□ Aita fedeltà tl 5'rumffofi' di miu/ra ^ 

téotiYG é*tfo rwht+Mt r*r lavaro (j 


CAMBIA GIOCO 


¥ 








HRI MAI PC USATO A/ ■AVSRC PER 
AMICO VAI COMPUTER ? 

PENSA QUANTE COSE POTRESTE PARE INSIEME: 


- FA R E TU T TI 1 GIO CHI CHE VUOL 

- IMPARARE IL MASiC?L4 1 LINGUA PEL FUTURO 

- PARE / COMPITI hi SCUOLA. ECC... 

L'A SITI COMPUTER s L'ISTITUTO KART 

HANNO ISTITUITO PS A TS UNA SCUOLA SENZA 
BANCHI MA CON TANTI COMPUTERS E PRO _ 
PESSORI GIOVANI E SIMPATICI CHS TI INSE- 
GNERANNO PASSO A PASSO A SCOPRIRE 
QUESTO MERAVIGLIOSO MONJpO. 

QUANDO AVRAI IMPARATO A CONOSCERLI 
POTRAI rtMALMENTE PORTARTI "A CASA 
IL TUO NUOVO AMICO COMPUTER . 


PER ULTERIORI fUPORMRZIOHI E ISCRIZIONI RIVOLGITI A: 


- SITI COMPUTERÀ 

P. n« S. E USTO PStO 2 -M IL ANO - TEL . Q3S6006 

- ISTITUTO KANT 

Vi* BRUSCHETTI 11 -MILANO - TEL. G03&G<9 

TI *SPSTTI*MO 


JOC/f W'AK GRUPPO 


cium 





INVIARE TUTTA LA PAGINA ANCHE SE SI UTILIZZA UNA SOLA SCHEDA 




Registrate i ! mio abbonamento annuale a Commodore Computer GluD 

Vr ~ 

Ho versato oggi stesso il canone di Ltre 22 000 a mezzo e/e postate n° 31532203 intestato a 
Commodore Computer Club - V le Famagosta, 75 - 20142 Milano 

Il mio computer e □ un VÈC 20. un G 64, □ aliru (specificarci 

~ ho, □ non no “ la stampante ma voglio C comprarla 

_■ ho, " ncni ho. ' il drive 1541. ma voglio D comprano, 



Regsstrsiem + ra collaboratori regolari di Commodore Computer Cfub. 

* tr : : - . 2 , invio un art eo e e la cassetta col programma “ 

# 


:-j r r ìnat.sco l'assoluta ongmalftà autorizza ndovene fa pubblicazione 
Pe? fl compenso □ telefonatemi al □ Scrivetemi all'Indirizzo so ttomd reato. 




« 

* 


i programmi / articoli li ho giudicati cosi: 

Giudizio d'utente (mettere una x nella casella) 


4 - 


{moto 

OTTIMO 

BUONO 

SUFFICIENTE 

MEDIOCRE 



















1 












INVIARE IN BUSTA 
CHIUSA E AFFRANCANDO 
SECONDO LE TARIFFE VIGENTI A 

COMMODORE COMPUTER CLUB 

V.le Famagosta, 75 
20142 Milano 


FINALMENTE. 

LA TAVOLETTA GRAFICA A PIENE PRESTAZIONI 
AD UN PREZZO ACCESSIBILE A TUTTI 


I I 





La tavoletta grafica KOALA è la più simpatica innovazione nel campo dei personal 
computers. Con KOALA, controllate il vostro computer con un dito, riù veloce 

di un paddle, più versatile di un joystick e più 
semplice dì una tastiera. 

La tavoletta grafica KOALA è compatibile 
con la maggior parte di software esistente 
e viene fornita compieta 
del suo programma 
grafico "Micro lllustrator". 

KOALA-PAD è il miglior 


* INI t tHN Ai IwnJ A L 


T# r i 


modo per creare 
immagini ad alta 
risoluzione con il vostro 
computer. 


COMPUTER GRAPHICS DIVtSION 

MILANO: Via L. da Vinci. 43 20090 Tremano S/N 
Tel 02/4455741/2/3/4/5 • T!* ; TELINT 1 312827 

ROMA: Via Salai a, 1319 - 00-38 Roma 
Tel 06,091 7058-69 '931 2 - TU: TINTRC 1 61438 






ME E Memoria par EiiEK>r*lOfi E!-eiimnk:j SpA 

Pofniluie pt?f Grani n Elabora/iqr^ Dall 
Sede Anmvfl 2G14J Vinaio Vi* Boni ?9 
Tot 4908541 f4 mee r a > Tele* 32J43S MCE I 
Filiali a Agenzie Milano Bergamo Tot irò 
Biella Padova Parma Ro cipa Fifflrvw ancona 
Roma Napoli Or ani & Ori s - a -io Bau Gtocjwi 
Sodane Mesire 


1 


High precision Data Memorie* 

é tecnologia avanzata di costruzione. 

È II supporto magnetico testato ai limiti 
della resistenza con garanzia di assoluta 
affidabilità. 

É avanguardia tecnologica per assicurare 
la massima protezione dei dati, 
anche, nelle situazioni più critiche. 


HIGH PRECI SION A COLPO SICURO!